Bootstrap

Python基础——购物找零问题

已知商品价格,付款时只能使用特定面值的货币,输出找零的各面值钱币数量。

超市存有: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语句块。

;