pyton写购物车

基本要求:

用户输入工资,然后打印购物菜单
用户可以不断的购买商品,直到余额不够为止
退出时打印用户已购买的商品和剩余金额。。

1.这个程序功能不完整,bug很多,练手之作。

 goods = ['Iphone: 5000','mac Pro: 12000','alex python: 81','Bike: 800','Starback latte: 31']
salary = input('请输入您的工资:')
print('------- 商品列表如下输入序号即可加入购物车 -------')
print('温馨提示:输入序号8即可退出程序!')
for i in goods:
print(goods.index(i)+,'. '+i) shopping_car = []
while True:
shopping_num = int(input('请输入要购买的商品序号:'))
if shopping_num == :
shopping_car.append(goods[shopping_num-])
continue
elif shopping_num == :
shopping_car.append(goods[shopping_num-])
continue
elif shopping_num == :
shopping_car.append(goods[shopping_num - ])
continue
elif shopping_num == :
shopping_car.append(goods[shopping_num - ])
continue
elif shopping_num == :
shopping_car.append(goods[shopping_num - ])
continue
elif shopping_num == :
break
else:
print('没有该商品请重新输入商品序号:')
continue print('您所购买的商品如下:')
for i in shopping_car:
print(shopping_car.index(i),'.'+i)

2.这个程序参照alex的pyhon讲解所写,功能比较完善,但是还有很多地方可以改善,比如可以用函数等知识来优化此程序。
 goods = [('Iphone',50000),('mac Pro',12000),('alex python',81),('Bike',800),('Starback latte',31)]
print('------- 商品列表如下输入序号即可加入购物车 -------')
print('温馨提示:输入q即可退出程序!')
salary = input('请输入您的工资:')
shopping_list = []
if salary.isdigit(): #判断工资输入是否是数字
salary = int(salary)
while True:
for index,item in enumerate(goods): #for循环打印商品列表
print('%s.%s'% (index,item)) user_choice = input('请输入需要购买的商品序号:')
if user_choice.isdigit(): #判断序号选择是否是数字
user_choice = int(user_choice)
if user_choice < len(goods) and user_choice >= 0: #选择的范围不能超出
p_item = goods[user_choice] #提取商品
if p_item[1] <= salary: #判断工资是否购买商品
shopping_list.append(goods[user_choice]) #已购商品存入列表
salary = salary - p_item[1] #计算余额
print("%s已经添加到购物车中,您的余额还剩%s元!"% (p_item,salary))
else:
print('您的余额还剩%s不够了!'% salary)
else:
print('错误选项!商品不存在,请重新选择!')
elif user_choice == 'q'and 'Q': #离开程序
print('------购物车东西如下---------')
for i in shopping_list: #打印已购买的商品
print(i)
print('您的余额还剩%s...' % salary) #打印余额
break
else:
print('错误选项!')
 
05-11 22:48