目录
需求分析:
运行结果:
1、需求分析:
函数只是封装功能 接收参数返回结果 不要让函数做跳转。 1、输出欢迎界面还有登录注册菜单 1、登录 2、注册 保留用户信息,目前做不到固话,先注册,注册成功之后再选择登录进去 用户信息-用户名、密码、初始金额 2、登录成功之后,又弹出菜单 1、查看商品信息 2、购买商品,将商品加入购物车 3、查看和结算购物车 4、退出
#1、登录页面
def login(username,passwd):
# print("登录成功")
# pass
if username in user and user[username]['passwd'] == passwd:
return True
#2、注册页面
def register(username,passwd,money):
# print("注册成功!")
# pass
if username in user:
print("用户名已存在,请重新输入!")
# if money <= float(user[username]['余额']):
else:
user['root'] = {'passwd': passwd,'余额':money}
print(f"{username}已经注册成功!")
print(f"{'用户名':<8}{'密码':<10}{'金额':<7}")
if money.isdigit():
# money = float(money)
user['root']['余额'] = float(user['root']['余额'] + money)
# user[username]['余额'] = float(user[username]['余额'] + money)
print(f"{username}用户充值成功,你的充值金额为{money},目前余额为:{user['root']['余额']}")
print(user['root'])
else:
print("充值失败,请重新输入!")
#3、开始购物
#3.1查看商品信息
def good():
print("查看商品信息".center(50,"-"))
print(f"{'商品编号':<10}{'商品名称':<10}{'单价':<5}")
for i in shop: #从shop中取出商品编号、商品名称、单价
print(f"{i:<10}{shop[i]['name']:>6}{shop[i]['price']:>15}")
shopping_cart = {} #定义一个采购清单,把购买物品的信息都写入进去
#3.2购买商品,将商品加入购物车
def shopping(number,quantity):#定义
shopping_cart[number] = shopping_cart.get(number,0)+ quantity
print("商品成功加入购物车")
print(f"{'商品编号':<10}{'数量':<10}")
print(f"{number:<10}{quantity:>6}")
#3.3查看和结算购物车
#查看购物车
def checking_cart():
# global sum_price
print("购物车".center(30,"="))
print(f"{'商品编号':<10}{'商品名称':<10}{'单价':<5}{'数量':>10}")
for i in shopping_cart: #定义一个采购清单,把购买物品的信息都写入进去
print(i)
print(f"{i:<10}{shop[i]['name']:>6}{shop[i]['price']:>10}{shopping_cart[i]:>15}")
print("-"*50)
#结算购物车
# sum_price = shopping_cart[quantity] * float(shop[number]['price'])
shopping_cart1 = {} #选购完的商品的购物车
sum_price = 0 #单个购物车商品总价初始值为0
sum_price1 = 0 #多个购物车消费金额初始为0
def paying_cart(pay):
global sum_price,sum_price1
for i in list(shopping_cart):
sum_price += shopping_cart[i] * float(shop[i]['price'])
if sum_price <= float(user[username]['余额']):
user[username]['余额'] = float(user[username]['余额']) - sum_price
print(f"购买成功,总计为{sum_price},余额为{float('%.2f' % user[username]['余额'])}")
shopping_cart1.update(shopping_cart.copy())#将单次购买的购物车中的所有商品存入结算购物车中
shopping_cart.clear()#结算成功,清空购物车
sum_price1 += sum_price
sum_price = 0 #购物车商品总价重置为0
else:
print("余额不足,请重新充值")
#4、退出
def exit():
global sum_price1,balance
print("谢谢惠顾,欢迎下次光临".center(50,"#"))
print("-"*50)
print(f"{'商品编号':<10}{'商品名称':<10}{'单价':<5}{'数量':<10}")
for i in shopping_cart1:
print(f"{i:<10}{shop[i]['name']:>6}{shop[i]['price']:>10}{shopping_cart1[i]:<15}")
print("=="*50)
print(f"您一共消费:{sum_price1},余额:{float('%.2f' % user[username]['余额'])}")
#主页面
print("欢迎进入三乐购物系统".center(50,"*"))
user = {'root': {'passwd': '123456', '余额': '500'},
'admin': {'passwd': '255278', '余额': '1000'}, }
shop = {'F00001':{'name':'苹果','price':1.2},
'F00002':{'name':'香蕉','price':5.0,},
'F00003': {'name':'梨子','price':'6.5'}}
while True:
print("1、登录".center(40))
print("2、注册".center(40))
print("3、退出".center(40))
option = input("请输入你的选择:")
#登录
if option == '1':
username = input("请输入你的用户名; ")
passwd = input("请输入你的密码: ")
if login(username,passwd):
print(f"登录成功!,目前的你的余额为{user['root']['余额']}")
while True:
print("1、查看商品信息".center(50))
print("2、开始购物,将商品加入购物车".center(57))
print("3、查看和结算购物车".center(51))
print("4、退出".center(45))
option2 = input("请输入你的选择:")
if option2 =="1": #查看商品信息
good()
elif option2 =="2": #开始购物,将商品加入购物车
print("欢迎来到三乐购物超市".center(30, "#"))
number = input("请输入你要购买的商品编号(F00001-F00003):")
if number == 'exit':
print("您已成功退出登录")
exit()
else:
if number in shop:#查看编号是否存在于shop中
quantity = input("请输入你要购买的数量:")
if quantity.isdigit(): #如果数量是数字
quantity = float(quantity)
shopping(number,quantity)
else:
print("输入的数量有误,请重新输入!")
else:
print("编号输入不正确,请重新输入")
elif option2 == "3": #查看和结算购物车
checking_cart()
print("按Q进行结账".center(20, "@"))
pay = input("输入'Q'就可以进行结账):")
if pay == "Q":
print("正在结算...")
paying_cart(pay)
else:
print("结账按钮输入错误!")
elif option2 == "4": #退出
# print("谢谢惠顾,欢迎下次光临".center(50, "#"))
exit()
break
else:
print("输入有误!请重新输入")
#用户注册
elif option =='2':
username =input("请输入你的用户名; ")
passwd = input("请输入你的密码: ")
money = input("请输入你的充值金额: ")
register(username, passwd, money)
#退出系统
elif option =='3':
print("您已经退出系统")
# exit()
else:
print("输入错误")
2、运行结果:
1、登录之后可以进行商品信息查询、购物、查看和结算购物车
2.用户注册可以选择充值金额。