python文件部分:
user = {'username':None}
shopping_trolley = {}
shopping_num = [0]
money = [0]
my_money = [0]
#獲取商品列表
def get_goods_list():
with open('shopping.txt', encoding='utf-8') as fr:
shopping_dic = eval(fr.read())
return shopping_dic
shopping_dic = get_goods_list()
#登錄
def login():
if not user['username']:
print("歡迎來到登錄頁面^-^\n")
usename = input("請輸入你的用戶名:")
password = input("請輸入你的密碼:")
#打開文件判斷文件中是否存在用戶名和密碼
with open('user_info.txt',encoding='utf-8') as fr:
data = fr.read().split('|')
user_info = (f"{usename}:{password}")
if user_info in data:
print("登錄成功!")
print(f"歡迎{usename},你當前的賬戶余額為:{my_money[0]}\n")
user['username'] = usename
else:
print("登錄失敗")
else:
print(f"尊敬的:{user['username']},你已經登錄,無需重復登錄^-^")
#注冊
def register():
print("歡迎來到注冊頁面^-^\n")
#獲取用戶注冊的用戶名和密碼
username = input("請輸入你的用戶名:")
password = input("請輸入你的密碼:")
#將注冊信以追加的形式存入文件
with open('user_info.txt','a') as fa:
fa.write(f"{username}:{password}|")
print("注冊成功!")
#購物
def shopping():
if user['username']:
print("歡迎來到購物界面!^-^")
while True:
for k,v in enumerate(shopping_dic):
print(f"序號:{k},{v}")
get_goods_num = input("請輸入商品序號(不需要則按q退出):")
if get_goods_num == 'Q' or get_goods_num =='q':
print(f"你當前購物車中有{shopping_num[0]}件物品")
break
if get_goods_num =="":
print("請輸入正確的序號\n")
continue
get_goods_num = int(get_goods_num)
goods = shopping_dic[get_goods_num]
print(f"{goods}加入購物車成功\n")
goods_name = goods[0]
if goods_name in shopping_trolley:
shopping_trolley[goods_name] += 1
shopping_num[0] +=1
else:
shopping_trolley[goods_name] = 1
shopping_num[0] += 1
money[0] += goods[1]
else:
print("您當前尚未登錄!")
#購物車
def shopping_list():
if user['username']:
print("歡迎來到購物車功能^-^")
while True:
print(f"你當前加入購物車的商品為{shopping_trolley},總價格為{money[0]}")
delete = input("請問是否移除商品,不移除則按q退出:")
if delete == 'Q' or delete =='q':
break
elif delete =="":
print("請輸入正確的名稱或字母\n")
continue
shopping_trolley[delete] -=1
if shopping_trolley[delete] == 0:
shopping_trolley.pop(delete)
for goods in shopping_dic:
if delete in goods:
money[0] -= goods[1]
shopping_num[0] -= 1
else:
print("請登錄后再試!")
#結算
def pay():
if user['username']:
print("歡迎來到結算頁面^-^")
print(f"您當前的賬戶余額為:{my_money[0]}")
while True:
print(f"您當前中的購物車中有:{shopping_trolley},總價為{money[0]}")
settle_account = input("是否結算,結算請輸入y,退出請輸入n(退出則會清空購物車):").lower()
if settle_account == 'y':
if my_money[0] > money[0]:
print(f"支付{money[0]}成功,已成功購買{shopping_trolley}")
shopping_num[0] = 0
my_money[0] = my_money[0] - money[0]
print(f"你當前余額為:{my_money[0]}元")
shopping_trolley.clear()
money[0] = 0
break
else:
print(f"你的余額不允許你這么做哦,你當前余額為{my_money[0]}←_←,請充值后再重試")
elif settle_account == 'n':
shopping_trolley.clear()
money[0] = 0
print("清空購物車成功!")
break
else:
print("輸入不合法")
else:
print("請登錄后再試!")
#充值
def recharge():
if user['username']:
print("歡迎來到充值界面^-^")
print(f"您當前余額為:{my_money[0]}")
while True:
top_up = input("請輸入你充值的金額:")
if top_up.isdigit():
my_money[0] += int(top_up)
if my_money[0] != 0:
print("充值成功!")
print(f"您當前的賬戶余額為:{my_money[0]}")
break
elif top_up == "":
print("請輸如你需要的數目!")
else:
print("充值失敗")
continue
else:
print("請登錄后再試!")
#退出登錄
def exit():
if user['username']:
while True:
exi_login = input(f"尊敬的:{user['username']},是否退出登錄,退出請輸入y,取消請輸入n:").lower()
if exi_login == 'y':
user['username'] = ""
print("退出成功!")
break
elif exi_login == 'n':
print("取消退出登錄成功!")
break
else:
print("請輸入y/n")
else:
print("你當前尚未登錄!")
# 主函數
def mian():
mian_list = """
1:注冊
2:登錄
3:購物
4:購物車
5:結賬
6:充值入口
7:退出登錄
"""
mian_func = {
'1': register,
'2': login,
'3': shopping,
'4': shopping_list,
'5': pay,
'6': recharge,
'7': exit
}
mian_len = len(mian_func)
while True:
print(mian_list)
select_serv=input("請選擇服務(按Q退出):")
if select_serv == 'Q' or select_serv =='q':
print("歡迎下次光臨^-^")
break
if not select_serv.isdigit():
print('請輸入數字!')
continue
# select_serv = int(select_serv)
if select_serv > str(mian_len):
print("你輸入的數字不合法!")
continue
mian_func[select_serv]()
mian()
購物列表文件
[
['變形金剛', 199],
['玩具汽車', 299],
['電動玩具', 399],
['流光星隕', 499],
['阿波菲斯', 599],
['荒古遺塵', 699],
['圣耀救贖', 799],
['蒼穹幕落', 899],
['夜雨黑瞳', 999],
['界·夜雨黑瞳', 1999]]
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
