Python小程序-登录-购物车

#! _*_ coding:utf-8 _*_
# anthor : uncle Sandor

# 功能要求:
# 基础要求:
#
# 1、启动程序后,输入用户名密码后,让用户输入工资,然后打印商品列表
#
# 2、允许用户根据商品编号购买商品
#
# 3、用户选择商品后,检测余额是否够,够就直接扣款,不够就提醒
#
# 4、可随时退出,退出时,打印已购买商品和余额
#
# 5、在用户使用过程中, 关键输出,如余额,商品已加入购物车等消息,需高亮显示
#
# 扩展需求:
# 1、用户下一次登录后,输入用户名密码,直接回到上次的状态,即上次消费的余额什么的还是那些,再次登录可继续购买
# 2、允许查询之前的消费记录
#数据结构:

def shopping(self):
count = 0
for i in self:
print(count+1, i.get("name"), i.get("price"))
count += 1

login = {'Sandor': '123', 'miller': 'abc321', 'Alex': '321'}

goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
shopping_cart = []

count = 0
while count < 3:
input_name = input("请输入用户名:")
if input_name in login.keys():
while count < 3:
input_pswd = input("请输入密码:")
if input_pswd == login.get(input_name):
# salary = 4444
salary = int(input("请输入工资:"))
print("您的账户余额为:",salary)
print("欢迎光临路飞学城")
shopping(goods) # 商品列表
# run_flag = True
while True:
choice = input("请选择商品序号:q退出>>>")
if choice.isdigit():
choice = int(choice)
if choice <= len(goods):
price = goods[choice - 1].get("price")
name = goods[choice - 1].get("name")
if salary >= price:
salary = salary - price
print("\033[1;31;40m[%s]已加入购物车,当前余额为:%s\033[0m" % (name, salary))
shopping_cart.append(goods[choice - 1])
shopping(goods)
else:
print("\033[1;31;40m余额%s不足购买[%s]...\033[0m" % (salary, name))
shopping(shopping_cart)
# run_flag = False
exit()
else:
print("\033[1;31;40m请正确输入商品序号,当前余额%s...\033[0m" % (salary))
shopping(goods)
elif choice == 'q':
if len(shopping_cart) > 0:
print("\033[1;31;40m---购物清单,余额为%s---\033[0m" % (salary))
shopping(shopping_cart) # 购物车列表
# run_flag = False
exit()
else:
print("\033[1;31;40m欢迎下次光临\033[0m")
exit()
else:
print("\033[1;31;40m请正确输入商品序号...\033[0m")
else:
print("total输入", count+1, "次错误,三次错误退出")
count += 1
else:
print("用户名输入", count+1, "次错误,三次错误退出")

count += 1
# else:
# exit()



posted @ 2018-07-11 00:01  桑铎是大叔  阅读(521)  评论(0)    收藏  举报