购物车练习:
1.启动程序后,让用户输入余额,打印商品列表
2.允许用户根据商品编号购买商品
3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
4.用户可一直购买商品,也可随时退出,退出时,打印已购买商品和余额
实现代码:
# __author:"CGK"
# date: 2022/6/28
product_list = [
('Mac', 120),
('vip', 60),
('tesla', 900),
('python book', 105),
('bike', 200),
]
saving = input('please input your money:')
shopping_car = [] #空购物车
if saving.isdigit(): #判断输入的字符串是不是数字,如果是数字,转化为int
saving = int(saving)
while True:
#打印商品内容
for i, v in enumerate(product_list, 1): #enumerate打印下标
print(i, '>>>>', v)
#引导用户选择商品
choice = input('选择购买商品编号[退出:q]:')
#验证输入是否合法
if choice.isdigit():
choice = int(choice)
if 0 < choice <= len(product_list):
#将用户选择商品通过choice取出来
p_item = product_list[choice-1]
#如果钱够,用本金saving减去该商品价格,并将该商品加入购物车
if p_item[1] < saving:
saving -= p_item[1]
shopping_car.append(p_item)
else:
print('余额不足,还剩%s' % saving)
print(p_item)
else:
print('编码不存在')
elif choice == 'q':
print('------------您已经购买如下商品----------------')
#循环遍历购物车里的商品,购物车存放的是已买商品
for i in shopping_car:
print(i)
print("您还剩%s元钱" % saving)
break
else:
print('invalid input')
else:
print('invalid input')