程序练习
程序:购物车程序
需求:
1.启动程序后,让用户输入工资,然后打印商品列表
2.允许用户根据商品编号购买商品
3.用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
4.可随时退出,退出时,打印已购买商品和余额
# Author: Allenlee
#定义商品列表
product_list = [
('Cellphone',3000),
('Bag',500),
('Toy',100),
('Book',50),
('Car',50000)
]
#定义空的购物车列表
shopping_list = []
while True:
#用户输入金额
Money = input("请输入您的金额(整数):")
#判断用户输入的是否为数字
if Money.isdigit():
Money = int(Money) #强制转化为int型
while True:
#打印商品列表
for i in product_list:
print (product_list.index(i)+1,i)
#也可按如下方法来写
'''
for index,item in enumerate(product_list):
print(index+1,item)
'''
# 用户输入的商品编号
user_choice = input("请输入您需要购买商品的编号:")
#判断用户输入的商品编号是否为数字
if user_choice.isdigit():
user_choice = int(user_choice)
#判断用户输入的数字是否超出商品范围
if user_choice <= len(product_list) and user_choice > 0:
p_item = product_list[user_choice-1] #用户选择的商品信息
#判断用户所剩金额与商品价格的比较
if p_item[1] <= Money: #买得起
Money = Money - p_item[1]
print("你购买的商品是%s,所剩的金额是%s" %(p_item,Money))
shopping_list.append(p_item)
else: #买不起
print("您的余额不足,请重新选择商品!")
else:
print("没有该商品,请重新输入!")
#如果用户输入q则退出
elif user_choice == 'q':
print("您购买的商品如下:")
#打印购物车的列表
for goods in shopping_list:
print(goods)
print("您还剩余:",Money)
exit()
else:
print("输入错误!")
else:
print("输入不正确!")