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
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值