product_list=[ #输入你的商品和价钱
(‘Mac’, 9000),
(‘kindle’, 800),
(‘tesla’, 900000),
(‘python book’, 105),
(‘bike’, 2000),
]
saving = input(“please input your many:”) #输入您携带的金额
shopping_car = [] #购物车(现在是空的未选择商品)
if saving.isdigit(): #确认你输入的是否为数字
saving = int(saving) #是的话转换为数值型
while True:
for i,v in enumerate (product_list): #进行循环,因为你可能购买的商品不止一个
print(i+1,">>>>>>",v) # i是编号 v是商品
choice = input("q:退出\n请选择您要购买的商品编号:]") #输入您想要购买的商品编号
if choice.isdigit(): #判断输入的编号是否为数字,
choice = int(choice) #将输入的编号转换为数值类型
if choice>0 and choice<=len(product_list): #看输入的编号是否存在,存在继续
qian = product_list[choice-1] #展示的内容在列表中的数字应该对应减去1,因为列表中是从0开始
if qian[1]<saving: #如果商品的价格比您带的钱少,则支付。
注意这里定义的【1】是因为价格是最开始定义的列表里面1的位置,而不是2
saving -= qian[1] 列表是从0开始而不是1开始
shopping_car.append(qian)
print("购买成功,您的余额现在为:",saving)
else: #如果商品的价格比您的钱多,提示余额不足,并重新执行
print("余额不足,还剩%s",saving)
print(qian)
else: #不存在停止执行,并重新循环
print("请选择存在的商品编号")
elif choice == "q": #如果输入的是q,则退出,并输出您的余额和购买的商品
for i in shopping_car:
print(i)
print("您还剩",saving,"欢迎您下次光临")
break
else: #如果不是,提示输入错误,则跳回重新执行
print("请输入正确的商品编号")
else: #如果不是数字,提示输入错误,并且重新执行
print(“输入错误”)