#购物车程序
# 功能要求:
# 基础要求:
# 1、启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表
# 2、允许用户根据商品编号购买商品
# 3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
# 4、可随时退出,退出时,打印已购买商品和余额
# 5、在用户使用过程中,
# 关键输出,如余额,商品已加入购物车等消息,需高亮显示
# 扩展需求:
# 1、用户下一次登录后,输入用户名密码,直接回到上次的状态,即上次消费的余额什么的还是那些,再次登录可继续购买
# 2、允许查询之前的消费记录
username = 'abc'
password = '123456'
cart_all =[]
goods = [
{"name":
"电脑", "price": 1999},
{"name":
"鼠标", "price": 10},
{"name":
"游艇", "price": 20},
{"name":
"美女", "price": 998}
]
count = 0#记录login次数
while True:
cart = []
count_goods = 0 # 记录该次购物商品次数
input_un = input('Username:')
input_pw = input('Password:')
if input_un == username and input_pw == password:
count +=1
if count == 1:
salary = int (input('请输入您的工资:'))
else:
print("\033[1;0m您的余额为\033[0m", "\033[1;0m%s\033[0m" % (salary))
print('-------------商品列表--------------')
for index,i in enumerate(goods):
print('%s. %s %s' % (index+1,i['name'],i['price']))
exit_flag = False #标志位
while not exit_flag:
purchase = input('请输入您要购买商品的编号(q(Q):退出,c(C):查询消费记录):')
if purchase.isdigit():#判断输入是否数字
num = int(purchase)
if num > 0 and num <= len(goods):#判断输入的数字在商品编号的范围内
if salary >= goods[num - 1]['price']:#判断工资是否足够支付该商品
if count_goods == 0:
cart_all.append(cart)
cart.append(goods[num - 1])
count_goods += 1
salary -= goods[num - 1]['price']
print("\033[1;0m购买成功!您的余额为\033[0m","\033[1;0m%s\033[0m"%(salary))#高亮显示
else:
print("\033[1;0m购买失败!您的余额不足!\033[0m")
else:
print("\033[1;0m该编号没有对应商品\033[0m")
elif purchase == "c" or purchase == "C":#查询消费记录
if len(cart_all) == 0:
print("\033[1;0m消费记录为空\033[0m")
else:
num_cart_all = 0#用于规范编号
num_cart = 0#用于规范编号
print('\033[1;0m-------------消费记录--------------\033[0m')
for i in cart_all:
num_cart_all = num_cart
for index, k in enumerate(i):
print('%s. %s %s' % (index+1+num_cart_all, k['name'], k['price']))
num_cart = index+1+num_cart_all
print('\033[1;0m-------------end--------------\033[0m')
elif purchase == "q" or purchase == 'Q':
if len(cart) != 0:
print('\033[1;0m-------------您已购买以下商品--------------\033[0m')
for index,i in enumerate(cart_all[-1]):
print('%s. %s %s' % (index+1,i['name'],i['price']))
exit_flag = True
print('\033[1;0m-------------end--------------\033[0m')
else:
exit_flag = True
else:
print("\033[1;0m输入错误\033[0m")
print("\033[1;0m您的余额为\033[0m","\033[1;0m%s\033[0m"%(salary))
print("谢谢惠顾,欢迎下次光临!")
else:
print('用户名或密码错误')
python全栈笔记-day03-chapter2 homework2_shoppingCart
最新推荐文章于 2024-08-01 16:14:40 发布