练习五十四:函数的练习
取一个任意小于1美元的金额,然后计算可一换成最少多少没硬币。
硬币有1美分,5美分,10美分,25美分四种。
1美元等于100美分
例如:0.76美元可以换成3枚25美分和1枚1美分,类似76枚1美分,2枚25美分+2枚10美分+1枚5美分+1枚1美分都是不符合条件的
方法一:笨办法
def least_num(num):
if num < 5:
least = num
return least,'{}个1美分'.format(least)
if num == 5:
least = num//5
return least,'{}个5美分'.format(least)
if num < 10:
least = num//5 +num%5
return least,'{}个5美分,{}个1美分'.format(num//5,num%5)
if num == 10:
least = nun//10
return least,'{}个10美分'.format(least)
if num <25:
least = num//10 + num%10
return least,'{}个10美分,{}个1美分'.format(num//10,num%10)
if num == 25:
least = nun//25
return least,'{}个25美分'.format(least)
if num > 25 and num<100:
least = num//25 + num%25//10 + num%25%10//5 +num%25%10%5
return least,'{}个25美分,{}个10美分,{}个5美分,{}个1美分'.format(num//25,num%25//10,num%25%10//5,num%25%10%5)
num = int(input('输入一个小于1美元的金额(为了简单我们输入小于100美分):'))
print(least_num(num))执行结果:
输入一个小于1美元的金额(为了简单我们输入小于100美分):76 (4, '3个25美分,0个10美分,0个5美分,1个1美分')
方法二:简单的抽出来
def least_num(num):
coin = [25,10,5,1]
coinN = []
for item in coin:
coinN.append(num//item)
num = num%item
return coinN
if __name__ == "__main__":
num = int(input('输入一个小于1美元的金额:'))
coinN = least_num(num)
print('{}个25美分,{}个10美分,{}个5美分,{}个1美分'.format(coinN[0],coinN[1],coinN[2],coinN[3]))
执行结果:
输入一个小于1美元的金额:76 3个25美分,0个10美分,0个5美分,1个1美分