购物车程序需求:
- 启动程序后,让用户输入工资,然后打印商品列表
- 允许用届根据商品编号购买商品
- 用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
- 可随时退出,退出时,打印已购买商品和余额
初始代码:
# Author:LJW
goods = [[1,'bicycle',800],
[2,'book',40],
[3,'pen',100],
[4,'ipad',3500],
[5,'iphone',5000],
[6,'kindle',1000],
[7,'shoes',300],
[8,'shirt',75],
[9,'pants',120],
[10,'guitar',600]]
collect = []
salary = int(input('请输入您的工资:'))
def outputGoods():
for i in goods:
print(i)
chose = input("请选择商品序号:")
if chose == 'q':
sum = 0
for j in collect:
sum = sum +j[2]
if sum>salary:
print("对不起,余额不足")
else:
print(collect)
print("共花费:",sum)
residual = salary - sum
print("剩余金额:",residual)
else:
number = int(chose) - 1
collect.append(goods[number])
outputGoods()
outputGoods()
修改代码:
# Author:LJW
goods = [['bicycle','800'],
['book','30'],
['pen','100'],
['ipad','3500'],
['iphone','5000'],
['kindle','1000'],
['shoes','300'],
['shirt','75'],
['pants','120'],
['guitar','600']]
collect = []
salary = input('请输入您的工资:')
money = int(salary)
if salary.isdigit():
salary = int(salary)
while True:
for index,value in enumerate(goods):
print(index+1,' '.join(value))
chose = input("请选择商品序号:")
if chose.isdigit():
chose = int(chose)
if chose < len(goods)+1 and chose>= 0:
number = int(chose) - 1
now_item = goods[number]
piece =int(now_item[1])
if piece<=salary:
collect.append(goods[number])
salary = salary - piece
print('%s已在您的购物车中,您的余额为\033[32;1m%s\033[0m'%(now_item[0],salary))
else:
print("\033[31;1m对不起,你的余额不足,仅剩%s\033[0m"%(salary))
else:
print("商品不存在")
elif chose =='q':
print("-------购物列表------")
for index,value in enumerate(collect):
print(index+1,' '.join(value))
print("您总共花费了:",money-salary)
print("你的余额为:",salary)
exit()
else:
print("您输入的商品序号格式有误")
else:
print("您输入的工资格式有误")