我在初级编程课程。我们必须做一个改变创造者计划的练习。输入值必须介于0-99之间,当输入值在四分之一之间时,必须用四分之一、十分之一、五分之一和五分之一表示。我写了一个包含循环和whiles的代码,但是他想要更简单和更小的代码。他给我这个是为了帮助我:
c=int(input('Please enter an amount between 0-99:'))
print(c//25)
print(c%25)
他告诉我们,这基本上是我们所需要的,只需要加上一角硬币、镍币和便士。我尝试了多种方法,一角硬币,一角镍币,和一便士,但我不能得到正确的输出。每当我进入'99',我得到3个硬币,2个硬币,1个硬币,0个硬币。如果有人能帮助我,那就太好了!
我希望这有用吗?像这样的东西,但不要只是抄袭。每次你除以25,10,5,你必须失去这一部分,因为它已经被计算在内。在最后打印出你想要的:)。
我现在知道你想取得什么。使用模算符你可以很容易地找出有多少四分之一,一角,五分镍币和一便士。
假设输入99。
这将打印出:
真正的诀窍是知道,因为每一枚硬币至少值下一个较小面额you can use a greedy algorithm的两倍。剩下的只是实现细节。
这里有一个稍显枯燥(但可能,呃,更令人困惑)的实现。我真正做的不同之处在于使用一个列表来存储我的结果,并利用tuple unpacking和divmod。而且,这在将来更容易扩展:我只需要将
coins
更改为[100, 25, 10, 5, 1]
,就可以支持$1账单。等等。给你:
相关问题 更多 >
编程相关推荐