我需要定义一个功能solid_change,将不同美国硬币的计数作为参数(类似于先前的功能),并打印出达到该数量所需的最简单的纸币和硬币数量。
例如,当调用带有10个四分之一,9个角钱,8个镍币和7个便士的参数的函数时,该函数应显示:
美元数量:3 宿舍数:3 角数:1 镍数:0 便士数量:2 总金额:3.87美元
根据作业,我还必须使用上一节中使用的value_of_change()方法
*第二步是我唯一需要帮助的部分,除非问题出在我的value_of_change()方法上
我们尝试了几种不同的功能,但我的导师没有写我做过的value_of_change()方法,所以我不让他跟随我的思路,也没有跟随他
上一步中的我的代码:定义一个函数value_of_change(),该函数接受表示不同美国硬币(四分之一,一角硬币,一分硬币和一分硬币)数量的命名自变量-每个自变量的默认值应为0函数应返回这些硬币的总价值(以美元为单位)。例如,5个季度,4个角钱,3个镍币和2个便士的价值为1.82美元。
# 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)
第二步: 定义一个功能solid_change,将不同美国硬币的计数作为参数(类似于先前的函数),并打印出达到该数量所需的最简单的纸币和硬币数量。
例如,当调用带有10个四分之一,9个角钱,8个镍币和7个便士的参数的函数时,该函数应显示:
美元数量:3 宿舍数:3 角数:1 镍数:0 便士数量:2 总金额:3.87美元 在此计算中,必须使用以前的value_of_change()方法。提示:考虑将硬币转换成一大便士,然后确定可以将它们分成多少(整数)美元。然后将这些便士放在一边,并确定您可以用剩下的钱赚多少个季度,等等。
# 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
答案 0 :(得分:1)
这是我的尝试:
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)