已知商品价格,付款时只能使用特定面值的货币,输出找零的各面值钱币数量。
超市存有:1元、5元、10元、20元面值的货币。
商品价格:使用Python自带的伪随机数生成器random中的random.randint(a,b)生成商品价格。
付款金额:代码执行时输入。
输出:各面值货币数量,高面值优先。
代码:
import random
price = random.randint(1,100)
print("商品的价格为:", price)
money = int(input("请输入您的支付金额:"))
if money >= price:
exchange = money - price
print("您已支付", price, "元,超市需找零", exchange, "元。")
money20 = exchange // 20
exchange20 = exchange % 20
money10 = exchange20 // 10
exchange10 = exchange20 % 10
money5 = exchange10 // 5
exchange5 = exchange10 % 5
print("超市需要找零", money20, "张20元", money10, "张10元", money5, "张5元以及", exchange5, "张1元")
else:
print("您的支付金额不够售价,无法购买商品。")
代码解释:
引入random库生成并输出商品金额,输入支付金额。
判断支付金额能否购买商品,能购买进入找零阶段。
计算需要找零的价格,使用整除计算各面值纸币数,使用取余计算找零此面值后剩余金额。
最后整理出各面值金额输出。
输出结果:
补充:
1.random.randint(a,b):返回随机整数 N 满足a<=N<=b,相当于randrange(a,b+1)。
2.input():返回用户输入的内容,输出为字符串,获取用户输入之前显示括号中的文本。
3.'"//"表示整数除法,返回商的整数部分,向下取整。
4."%"表示取余运算,返回运算之后的余数。
5.if-else:选择结构,if后条件满足执行if语句块,否则执行else语句块。