购物车程序:
需求:1、启动程序后,让用户输入工资,然后打印商品列表
2、允许用户根据商品编号购买商品
3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
4、可随时退出,退出时打印已商品和余额
shopping1.0:自己瞎几把写也大概写出来了
money = int(input("you have the money:")) shop = [1,'IPHONE',5000, 2,"STARBUCKS-LATTE",31, 3,"MACPRO",12000, 4,"BICYCLE",1000] shop2= [] print(shop) while money >= 31: number = int(input(">>>")) print(shop[shop.index(number)+2]) if money < shop[shop.index(number)+2]: print("you don't have enough money") break else: money = money-shop[shop.index(number)+2] print("you salary is :", money) shop2.append(shop[shop.index(number)+1]) shop2.append(shop[shop.index(number)+2]) print("you buy:", shop2) else: print("you cannot buy anything)
执行结果

功能不太完善,打印列表的方式不行,也没考虑到非法输入的问题
进化后的2dian0
products_list = [
("IPHONE", 5000),
("MAC PRO",12000),
("BIKE", 800),
("WATCH", 1000),
("STARBUCKS", 31)
]
user_choose_list = []
salary = input("Please input you salary:")
# 判断输入是不是整数
if salary.isdigit():
salary = int(salary)
while True:
# 打印商品编号和商品信息
for index, item in enumerate(products_list):
print(index, item)
# 用户输入商品编号
products_id = input("Please choose products_id:")
# 判断商品编号是不是整数
if products_id.isdigit():
products_id = int(products_id)
# 判断输入的整数编号是否在规定范围内
if 0 <= products_id < len(products_list):
p_item = products_list[products_id]
# 判断工资数额够不够买商品编号对应的商品
if p_item[1] <= salary:
# 将买入的商品加入到新的列表中,工资减掉买到的商品价格,并打印购买信息
user_choose_list.append(p_item)
salary = salary-p_item[1]
print("Added %s in your shopping cart,your current balance is %s" % (p_item, salary))
# 不够买对应编号的商品就打印提示
else:
print("you have salary:", salary)
else:
print("Product code[%s] is not exist!" % products_id)
elif products_id == "q":
print("------shopping_list------")
for p in user_choose_list:
print(p)
print("Your current balance:", salary)
exit()
else:
print("Invalid input")
else:
print("Invalid input")
本文介绍了一个简单的购物车程序实现过程,包括用户输入薪资、选购商品、检查余额等功能,并逐步优化了程序,处理了异常输入等问题。

被折叠的 条评论
为什么被折叠?



