python购物车程序

需求:

1、启动程序后,让用户输入工资,然后打印商品列表
2、允许用户根据商品编号购买物品
3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
4、可随时退出,退出时打印已购买商品和余额

代码自己纯手打,可能会有手误

#新建商品列表
product_list = [
	('iphone', 4500),
	('macbook', 9800),
	('bicycle', 200),
	('coffee', 31),
	('《巴比龙》', 21),
	('guitar', 2500)
]
#新建购物车列表
shopping_list = []
salary = input('input your salary:')
#判断用户输入salary是否是整数
if salary.isdigit():
	salary = int(salary)
	while True:
		#循环打印商品列表
		for index, item in enumerate(product_list):
			print(index, 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]
				#判断余额是否能够支付商品的价格
				if p_item[1] <= salary:
					shopping_list.append(p_item)
					salary -= p_item[1]
					print('Added %s into shopping cart,your current balance is \033[31;1m%s\033[0m %(p_item, salary))
				else:
					print('\033[41;1m您的余额不足,还买个屁啊!\033[0m')
			else:
				print('product code [%s] is not exist' %user_choice)	
		elif user_choice == 'q':
			#用户输入q退出:打印已购商品列表、余额,退出程序
			print('----------shopping list---------')
			for item in shopping_list:
				print(item)
			print('your current salary is:',salary)
			exit()
		else:
			print('invalid option')
else:
	print('invalid salary input')
	exit()			

几个知识点

1、isdigit():判断输入(str)是否是整数格式,可用于下一步强制转换
2、enumerate:
可以取出列表下标

for index,item in enumerate(product_list):
	print(index, item)

3、改变颜色
\033[31;1m内容\033[0m
31红色字体,41红色背景,固定格式,死记硬背

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 Python 购物车程序代码: ```python # 商品列表 products = { "apple": {"price": 5, "stock": 10}, "banana": {"price": 3, "stock": 5}, "orange": {"price": 4, "stock": 8}, "pear": {"price": 6, "stock": 6} } # 购物车 cart = {} # 打印商品列表 print("商品列表:") for name, attrs in products.items(): print(name, attrs["price"], attrs["stock"]) # 选择商品 while True: name = input("请输入要购买的商品名称:") if name in products: break else: print("商品不存在,请重新输入。") # 选择数量 while True: try: quantity = int(input("请输入要购买的数量:")) if quantity <= products[name]["stock"]: break else: print("库存不足,请重新输入。") except ValueError: print("输入无效,请输入数字。") # 添加到购物车 if name in cart: cart[name]["quantity"] += quantity else: cart[name] = {"price": products[name]["price"], "quantity": quantity} # 更新库存 products[name]["stock"] -= quantity # 打印购物车 print("购物车:") total_price = 0 for name, attrs in cart.items(): price = attrs["price"] * attrs["quantity"] total_price += price print(name, attrs["quantity"], price) # 打印总价 print("总价:", total_price) ``` 该程序实现了以下功能: 1. 打印商品列表。 2. 选择要购买的商品和数量。 3. 添加商品到购物车。 4. 更新商品库存。 5. 打印购物车和总价。 注意:该程序是一个简单的示例,实际应用中需要考虑更多因素,如商品分类、优惠活动、付款方式等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值