Python 定义一个函数,该函数将不同美国硬币的计数作为参数,并打印出所需的最简单数量的纸币和硬币
我需要定义一个函数consolidate_change,它以不同美国硬币的计数作为参数(类似于前面的函数),并打印出生成该金额所需的最简单数量的纸币和硬币 例如,当使用10个25美分、9个10美分、8个5美分和7个便士的参数调用时,函数应打印: 金额:3美元 季度数:3 一角硬币数量:1 镍币数量:0 便士数:2 总额:3.87美元 根据家庭作业,我还必须使用上一节中使用的value\u of_change()方法 *第二步是我唯一需要帮助的部分,除非问题出在我的\u change()方法的值上 我们尝试了几个不同的函数,但我的导师没有写我的value of_change()方法,我写了,所以我不知道他是按照我的思路写的,我也没有按照他的思路写 上一步的代码:定义一个函数value of_change(),该函数接受表示不同美国硬币(25美分、10美分、5美分和1美分)数量的命名参数——每个参数的默认值应为0。该函数应返回这些硬币的总价值(以美元为单位)。例如,5个25美分、4个10美分、3个5美分和2个便士的价值为1.82美元Python 定义一个函数,该函数将不同美国硬币的计数作为参数,并打印出所需的最简单数量的纸币和硬币,python,python-3.x,arguments,currency,consolidation,Python,Python 3.x,Arguments,Currency,Consolidation,我需要定义一个函数consolidate_change,它以不同美国硬币的计数作为参数(类似于前面的函数),并打印出生成该金额所需的最简单数量的纸币和硬币 例如,当使用10个25美分、9个10美分、8个5美分和7个便士的参数调用时,函数应打印: 金额:3美元 季度数:3 一角硬币数量:1 镍币数量:0 便士数:2 总额:3.87美元 根据家庭作业,我还必须使用上一节中使用的value\u of_change()方法 *第二步是我唯一需要帮助的部分,除非问题出在我的\u change()方法的值上
# defines a variable value_of_change assigning values to quarters, dimes, etc. including test to print
def value_of_change(quarters, dimes, nickels, pennies):
quarters_value = .25
dimes_value = .10
nickels_value = .05
pennies_value = .01
total = (quarters * quarters_value) + (dimes * dimes_value) + (nickels * nickels_value) + (pennies * pennies_value)
print(round(total, 2))
value_of_change(5, 4, 3, 2)
第二步:
定义一个函数consolidate_change,该函数将不同美国硬币的计数作为参数(类似于上一个函数),并打印出生成该金额所需的最简单数量的纸币和硬币
例如,当使用10个25美分、9个10美分、8个5美分和7个便士的参数调用时,函数应打印:
金额:3美元
季度数:3
一角硬币数量:1
镍币数量:0
便士数:2
总额:3.87美元
在此计算中,必须使用\u change()方法的上一个值\u。提示:考虑将硬币转换成一大堆便士,然后确定可以将它们分成多少(整数)美元。然后把这些硬币放在一边,确定你能用剩下的硬币挣多少(整数)个25美分,等等
# My code (that isn't working) for the second step
def consolidate_change(change):
coins = [.25, .1, .05, .01]
value = 0
dollars = 1
quarters = 1
dimes = 1
nickels = 1
pennies = 1
#change value in pennies
for i in range (0, 4):
value = round((value + (change[i] * coins[i])), 2)
value = round(value)
#Dollars
for i in range (0, value):
if dollars/value == round(dollars/value):
dollars = dollars/value
else:
dollars += 1
value = round(value)
print (dollars)
consolidate_change([10, 9, 8, 7])
我应该得到一个结果
Number of dollars: 3
Number of quarters: 3
Number of dimes: 1
Number of nickels: 0
Number of pennies: 2
Total amount: $3.87
然而,我目前的结果是公正的
1.0
以下是我的尝试:
def consolidate_change(change):
coins_to_use=[]
coins = [1, .25, .1, .05, .01]
for coin in coins:
coins_to_use.append(int(change//coin))
change = change%coin
print(f"Dollars: {coins_to_use[0]}\n Quarters: {coins_to_use[1]}\n Dimes:{coins_to_use[2]}\n Nickels: {coins_to_use[3]}\n Pennies:{coins_to_use[4]} ")
consolidate_change(3.87)
输出:
这是家庭作业吗?“简单”是一个模棱两可的词。你是说最小的吗?啊,我没听说过你的导师,所以这绝对是家庭作业。你可能想把除法打到
int
,因为你不能有硬币的分数(至少在法律上是这样:))