龙空技术网

自学Python,货币组合用100,50,20,10,5,1兑换,面值由大到小

一个人的Python 191

前言:

此刻小伙伴们对“100的倍数怎么算法”大致比较珍视,同学们都想要分析一些“100的倍数怎么算法”的相关内容。那么小编也在网上搜集了一些关于“100的倍数怎么算法””的相关知识,希望姐妹们能喜欢,咱们一起来了解一下吧!

def combination(n):    # 取n除以100的整数部分    OneHundred = n // 100    # 取(n除以100的余数)除以50的整数部分    Fifty = (n % 100) // 50    # 取(n除以50的余数)除以20的整数部分    Twenty = (n % 50) // 20    # 用(n减去已经计算出的总和)除以10的整数部分    Ten = (n - OneHundred * 100 - Fifty * 50 - Twenty * 20) // 10    # 取(n除以10的余数)除以5的整数部分    Five = (n % 10) // 5    # 取n除以5的余数    One = n % 5    print(f"百元{OneHundred}张,五十元{Fifty}张,二十元{Twenty}张,十元{Ten}张,五元{Five}张,一元{One}张")combination(186)combination(487)

第1-14行为定义函数combination(n)

首先执行第16行调用函数combination(186),传递参数n=186

函数内部:

第3行利用整除100获得小于186的100的倍数的最大值,此时onehundred=1

第5行利用n除以100的余数整除50得到一个小于86的50的倍数最大值,此时Fifty=1

第7行;利用除以50的余数整除20得到小于36的20的倍数最大值,此时Twenty=1

第9行:用(n减去已经计算出的总和)除以10的整数部分为小于16的10的倍数最大值,此时Ten=1

第11行,取(n除以10的余数)除以5的整数部分为小于6的5的倍数最大值,此时Five=1

第13行,取n除以5的余数,此时One=1

第14行:打印输出f"百元1张,五十元1张,二十元1张,十元1张,五元1张,一元1张"

执行第17行调用函数combination(487),传递参数n=487

函数内部:

第3行利用整除100获得小于487的100的倍数的最大值,此时onehundred=4

第5行利用n除以100的余数整除50得到一个小于87的50的倍数最大值,此时Fifty=1

第7行;利用除以50的余数整除20得到小于37的20的倍数最大值,此时Twenty=1

第9行:用(n减去已经计算出的总和)除以10的整数部分为小于17的10的倍数最大值,此时Ten=1

第11行,取(n除以10的余数)除以5的整数部分为小于7的5的倍数最大值,此时Five=1

第13行,取n除以5的余数,此时One=2

第14行:打印输出f"百元4张,五十元1张,二十元1张,十元1张,五元1张,一元2张"

关注点赞收藏不迷路,私信共享学习资料,共同学习,共同进步。

标签: #100的倍数怎么算法