一道题目:
货币组合方式
定义一个叫做“combination”的函数,该函数只有1个参数 n。
这个函数的功能是将现有1元,5元,10元,20元,50元,100元纸币不限,优先使用面值大的货币,输出货币的组合方式。
分两次调用这个函数:
第一次传入参数186;
第二次传入参数487。
输出格式:百元X张,五十元X张,二十元X张,十元X张,五元X张,一元X张
答案:
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)
注释:
首先,代码是从上往下运行的,所以咱们不用想怎么打,就按照顺序就行了。
这里五元的张数要注意一下
运行这种定义函数,直接函数名();当然,要是函数里面没有print,但是输出要求print,我们还是要手动补上一个print