案例:
python编写一个程序,写入一个美金数量,然后显示出如何用最少的20美元、10美元、5美元和1美元来付款:
Enter a dollar amout:93
$20 bills: 4
$10 bills: 1
$5 bills:0
$1 bills:3
思考:
写入一个美金数量,就是输入,所以用input,相关链接
Python中的标准输入-----input()_python中input输入案例-CSDN博客
用最少的20美元等来付款,就是用几个20美元付款,也就是93除以20,就是4张20美元,
可以代入我们生活中,有100块,如果只能用20元的纸币,那么,需要几张?--5张
如果只能用10元的纸币,需要几张??--10张
所以结合题目要求,就是利用除法,来计算分别可以用多少面值的钱,来付款。
如果输入的是 零的整数,那么,就会有余数,比如93,所以,第一次用93/20 ,也就是4张20元,但是93-4*20 还有13 , 那么13/10,就是有1张10元,还剩下3元。3/5,是没有的,
那么就接着用1元的,3/1,就是3张1元的。
整体用的最多的,就是一个除法,整除的思维。
每次都是用剩下的钱,再进行一次的兑换,一定要结合自己用纸币买东西花钱的方式,思考下。
代码:
#获取输入的美元数量 amount = int(input("enter a dollar amount:")) #计算需要的纸币数量 twenies = amount // 20 amount = amount % 20 tens = amount // 10 amount = amount % 10 fives = amount // 5 amount = amount % 5 ones = amount #输出结果 print("$20 bills:", twenies) print("$10 bills:", tens) print("$5 bills:", fives) print("$1 bills:", ones)
详解:
#获取输入的美元数量 amount 数量 使用input输出,int进行数据类型转换。enter a dollar amount 输入金额 amount = int(input("enter a dollar amount:")) #计算需要的纸币数量 twenies = amount // 20 # 整除// 这里的amount,是用总的美元数量,进行除以20面值的 amount = amount % 20 # 取余(取模)% 这里的amount,是代表使用20面值后,剩余的钱,给其他面值(10,5,1)整除用的 tens = amount // 10 # 整除// 这里的amount,是用总的美元数量,进行除以10面值的 amount = amount % 10 # 取余(取模)% 这里的amount,是代表使用10面值后,剩余的钱,给其他面值(5,1)整除用的 fives = amount // 5 # 整除// 这里的amount,是用总的美元数量,进行除以5面值的 amount = amount % 5 # 取余(取模)% 这里的amount,是代表使用5面值后,剩余的钱,给其他面值(1)整除用的 ones = amount # 因为任何除以1,都是其本身,所以 不需要 再写成 ones = amount // 1,后面没有其他面值,也不需要再进行取余(取模)% #输出结果 print("$20 bills:", twenies) print("$10 bills:", tens) print("$5 bills:", fives) print("$1 bills:", ones)
图示