我写这个是为了计算改变所需的最小票据和硬币数量.这可以使用循环完成吗?
def user_change(balance):
twen = int(balance/20)
balance=balance%20
ten = int(balance/10)
balance=balance%10
five = int(balance/5)
balance = balance%5
ones = int(balance/1)
balance = balance%1
quart = int( balance/0.25)
balance = balance%0.25
dime = int(balance/0.10)
balance = balance%0.10
nickel = int(balance/0.05)
balance = balance%0.05
pennies = int(balance/0.05)
print twen
print ten
print five
print ones
print quart
print dime
print nickel
print pennies
user_change(34.36)
Run Code Online (Sandbox Code Playgroud)
这是一个很好的时间(好的,这总是一个好时机)让自己更容易,并首先考虑数据结构.您有一个货币(密钥)列表,对于每个密钥,您希望为(值)找到一个唯一的金额.k:v对意味着a dict,所以填一个代替只打印值; 你可以随时打印......
def make_change(bal):
currency = [20,10,5,1,.25,.1,.05,.01]
change = {}
for unit in currency:
change[unit] = int(bal // unit)
bal %= unit
return change
Run Code Online (Sandbox Code Playgroud)
(无论何时使用%=操作员,都应该感觉很酷)
| 归档时间: |
|
| 查看次数: |
136 次 |
| 最近记录: |