文章目录
一、购物车菜单系统
1.购物车程序内容简单说明
输入金额:salary = 5000
--------以下为商品信息-------
1. iphone6s 5800
2. mac book 9000
3. coffee 32
4. python book 80
5. bicyle 1500
>>>:1
余额不足,-3000
>>>:5
已加入bicyle 到你的购物车, 当前余额:3500
>>>:quit
您已购买一下商品
bicyle 1500
coffee 30
您的余额为:2970
欢迎下次光临
2.代码实现(无注释版)------------------------------新手建议,先个人理解无注释版代码,不认识的函数就先自己去查明白,然后再查看有注释代码!!!!! !(虽然这个注释也不太清楚)
while True:
user_salary = input("请输入您的工资额度:")
if user_salary.isdigit():
user_salary = int(user_salary)
Goods_car = []
Goods_list =[('iphone6s',5800),
('mac book',9000),
('coffee',32),
("python book",80),
("bicyle",1500)]
while True:
for i,v in enumerate(Goods_list,1):
print(i,">>>>",v)
while True:
select_good = input("请输入您想要购买的选项[退出:quit]:")
if select_good.isdigit():
select_good = int(select_good)
if select_good<0 or select_good>len(Goods_list):
print("无此商品,请重新输入!\n")
continue
user_balanceend = user_salary
user_balance = user_salary - Goods_list[select_good - 1][1]
if user_balance >= 0:
Goods_car.append(Goods_list[select_good - 1][0])
user_salary -= Goods_list[select_good - 1][1]
print("已将%s加入购物车,当前余额为%d" % (Goods_list[select_good - 1][0], user_salary))
else:
user_salary = user_balanceend
print("余额不足,%d,请重选" % (user_salary - Goods_list[select_good - 1][1]))
elif select_good == 'quit':
Goods_car.sort()
print("您已购买了以下商品:%s\n当前余额为:%d"%(Goods_car,user_salary))
exit("欢迎下次光临!")
else:
print("选项格式输入错误,请重试\n")
else:
print("额度格式输入错误,请重试\n")
输出样例:
请输入您的工资额度:8000
1 >>>> ('iphone6s', 5800)
2 >>>> ('mac book', 9000)
3 >>>> ('coffee', 32)
4 >>>> ('python book', 80)
5 >>>> ('bicyle', 1500)
请输入您想要购买的选项[退出:quit]:3
已将coffee加入购物车,当前余额为7968
请输入您想要购买的选项[退出:quit]:4
已将python book加入购物车,当前余额为7888
请输入您想要购买的选项[退出:quit]:5
已将bicyle加入购物车,当前余额为6388
请输入您想要购买的选项[退出:quit]:3
已将coffee加入购物车,当前余额为6356
请输入您想要购买的选项[退出:quit]:quit
您已购买了以下商品:['bicyle', 'coffee', 'coffee', 'python book']
欢迎下次光临!
当前余额为:6356
3.代码实现(有注释版)
while True:
user_salary = input("请输入您的工资额度:")
if user_salary.isdigit(): # .isdigit()判断工资输入的字符串是否符合格式,如果是数字样式则为Ture
user_salary = int(user_salary) #因为input输出为字符串,为了运算方便,利用int()将其转换为整数
Goods_car = [] #建立空列表作为购物车存储单位
Goods_list =[('iphone6s',5800), #存储初始商品信息
('mac book',9000),
('coffee',32),
("python book",80),
("bicyle",1500)]
while True:
for i,v in enumerate(Goods_list,1): #菜单输出 enumerate()为输出菜单添加序号标识
print(i,">>>>",v)
while True:
select_good = input("请输入您想要购买的选项[退出:quit]:")
if select_good.isdigit(): #判断购买选项是否符合选项格式
select_good = int(select_good)
if select_good<0 or select_good>len(Goods_list): #判断购买选项是否在商品范围内
print("无此商品,请重新输入!\n")
continue
user_balanceend = user_salary #建立新变量存入输入金额
user_balance = user_salary - Goods_list[select_good - 1][1] #建立新变量存入输入金额减去所购买物品的价格,即金额结余,用来判断商品价格是否超过工资数
if user_balance >= 0:
Goods_car.append(Goods_list[select_good - 1][0]) #将成功购买的商品存入购物车列表
user_salary -= Goods_list[select_good - 1][1]
print("已将%s加入购物车,当前余额为%d" % (Goods_list[select_good - 1][0], user_salary))
else:
user_salary = user_balanceend #与上方存入输入金额的user_balanceend变量建立联系
print("余额不足,%d,请重选" % (user_salary - Goods_list[select_good - 1][1]))
elif select_good == 'quit': #退出选项
Goods_car.sort() #为商品排序,使重复购买的物品连在一起
print("您已购买了以下商品:%s\n当前余额为:%d"%(Goods_car,user_salary))
exit("欢迎下次光临!")
else:
print("选项格式输入错误,请重试\n")
else:
print("额度格式输入错误,请重试\n")