练习五十四:函数的练习

取一个任意小于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美分

猜你喜欢

转载自www.cnblogs.com/pinpin/p/10176736.html
今日推荐