Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python将美分转换为25美分、5美分、10美分和1美分_Python_Converter - Fatal编程技术网

使用Python将美分转换为25美分、5美分、10美分和1美分

使用Python将美分转换为25美分、5美分、10美分和1美分,python,converter,Python,Converter,我正在使用Python,我正在尝试将一定数量的钱(以美分表示)转换为等值的四分之一、五分之一、一角和一分钱 这就是我目前所拥有的,但我发现问题在于,我不知道如何从25美分硬币中取出剩余的硬币,并将其分解成10美分、5美分和1美分。我是新来的,只是有一段艰难的时光。我不是要求别人解决问题,只是指出我做错了什么(也许我需要做些什么来修复它) 使用divmod,只需三行: quarters, cents = divmod(cents, 25) dimes, cents = divmod(cents,

我正在使用Python,我正在尝试将一定数量的钱(以美分表示)转换为等值的四分之一、五分之一、一角和一分钱

这就是我目前所拥有的,但我发现问题在于,我不知道如何从25美分硬币中取出剩余的硬币,并将其分解成10美分、5美分和1美分。我是新来的,只是有一段艰难的时光。我不是要求别人解决问题,只是指出我做错了什么(也许我需要做些什么来修复它)


使用
divmod
,只需三行:

quarters, cents = divmod(cents, 25)
dimes, cents = divmod(cents, 10)
nickels, pennies = divmod(cents, 5)

这里需要两种操作:整数除法和模运算

整数除法
A/B
问了一个简单的问题:
B
能干净地放入
A
多少次(而不必将
B
分解成小数点)<代码>2完全适合
8
4
次<代码>2也可以干净地适应
9
4

A%B
问了同样的问题,但给出了答案的另一面:假设
A
干净地进入
B
若干次,剩下什么<代码>2干净地进入
8
4次没有剩余,因此
2%8
0
2
干净地进入
9
四次,但
1
是剩余的,因此
2%9
1

我再举一个例子,让你从这个问题过渡到你的问题。假设给我一个秒数,我需要将它转换为天、小时、分钟和秒


昨天晚上我一直在努力解决这个问题。是的,你需要除法和模。这不是最具蟒蛇风格的方式,但它适用于任何金额,当你将可以输入自动售货机的美元金额限制在5.00美元时。这个问题一直被问到,却一直被忽视。也许是因为它是家庭作业风格。。。无论如何


def自动售货机更换()
成本=浮动(输入(“输入项目成本:”)
变更=5.00-成本
美元=整数(零钱)
季度变动=浮动(“%.2f”((美元变动)))
季度=整数(季度变化/0.25)
十美分变动=浮动(“%.2f”%(四分之一美分变动%0.25))
尺寸=整数(尺寸变化/0.10)
镍的变化=浮动(“%.2f”%(十美分变化%0.10))
镍币=整数(镍币变化/0.05)
便士=整数(镍币兑换*100)
打印(“变更金额:“+str((美元))+‘美元’,+str((四分之一))+‘四分之一’,+str((十分之一))+‘十分之一’,+str((五分之一))+‘五分之一’,+str((五分之一))+‘一分之一’)
通过

您计算了
美分%quarter
,但没有将其分配回下一语句的变量。根据您所拥有的,您可以做
cents=cents%quarters
。其余的
cents%
语句也是如此。您也可以使用
divmod
来完成此操作。谢谢dogwynn的帮助,您的解释正好解决了这个问题很好,我很高兴。祝你好运,@DerekMcFarland。
quarters, cents = divmod(cents, 25)
dimes, cents = divmod(cents, 10)
nickels, pennies = divmod(cents, 5)
total_seconds = 345169

# Specify conversion between seconds and minutes, hours and days
seconds_per_minute = 60
seconds_per_hour = 3600 # (60 * 60)
seconds_per_day = 86400 # (3600 * 24)

# First, we pull out the day-sized chunks of seconds from the total
# number of seconds
days = total_seconds / seconds_per_day
# days = total_seconds // seconds_per_day # Python3

# Then we use the modulo (or remainder) operation to get the number of
# seconds left over after removing the day-sized chunks
seconds_left_over = total_seconds % seconds_per_day

# Next we pull out the hour-sized chunks of seconds from the number of
# seconds left over from removing the day-sized chunks
hours = seconds_left_over / seconds_per_hour
# hours = seconds // seconds_per_hour # Python3

# Use modulo to find out how many seconds are left after pulling out
# hours
seconds_left_over = seconds_left_over % seconds_per_hour

# Pull out the minute-sized chunks
minutes = seconds_left_over / seconds_per_minute
# minutes = seconds_left_over // seconds_per_minute # Python3

# Find out how many seconds are left
seconds_left_over = seconds_left_over % seconds_per_minute

# Because we've removed all the days, hours and minutes, all we have
# left over are seconds
seconds = seconds_left_over