import osgood_list =
shopping_list = {}
cost = 0
def register():
print('開始註冊!')
user_name = input('請輸入使用者名稱').strip()
if os.path.exists('%s.txt' % user_name):
print('該使用者已註冊,請登入!')
login()
else:
while true:
pwd = input('請輸入密碼')
pwd_sure = input('請確認密碼')
if pwd == pwd_sure:
print('註冊成功,請登入!')
with open(r'%s.txt' % user_name, 'w', encoding='utf-8') as f:
f.write('%s|%s' % (user_name, pwd))
f.flush()
login()
break
else:
print('兩次密碼不一致,請重新輸入')
pass
def login():
print('開始登入!')
user_name = input('請輸入使用者名稱').strip()
if not os.path.exists('%s.txt' % user_name):
print('該賬戶尚未註冊,請先註冊')
register()
else:
while true:
pwd = input('請輸入密碼')
with open(r'%s.txt' % user_name, 'r', encoding='utf-8') as f:
res = f.read().split('|')
if pwd == res[1]:
print('登入成功')
break
else:
print('密碼輸入錯誤,請重新輸入')
return user_name
def shopping():
global cost
print('請先登入!')
user_name = login()
print('開始購物!')
with open(r'%s.txt' % user_name, 'r', encoding='utf-8') as f:
res = f.read().split('|')
pwd = res[1]
if len(res) < 3:
print('餘額不足,請充值!')
mon = recharge(user_name)
else:
mon = int(res[2])
while true:
print('商品列表!')
res = list(good_list)
for k, v in enumerate(good_list, 1):
print(k, v, '%s元' % good_list[v])
buying = input('請輸入你想購買的商品:').strip()
if buying.isdigit():
buying = int(buying)
if buying > 0 and buying < len(good_list):
if good_list[res[buying - 1]] < mon:
mon -= good_list[res[buying - 1]]
cost += good_list[res[buying - 1]]
if res[buying - 1] in shopping_list:
shopping_list[res[buying - 1]] += 1
else:
shopping_list[res[buying - 1]] = 1
quit_or_not = input('請問是否退出購物(y/n)?')
if quit_or_not.lower() == 'y':
quit(mon, user_name,pwd)
break
else:
print('餘額不足請充值!')
charge_or_not = input('是否充值(y/n)?').strip()
if charge_or_not.lower() == 'y':
mon = recharge(user_name)
else:
print('餘額不足,結賬退出!')
quit(mon, user_name, pwd)
break
pass
else:
print('沒有該商品!')
else:
print('請輸入數字!')
pass
def recharge(user_name):
with open(r'%s.txt' % user_name, 'r', encoding='utf-8') as f:
res = f.read().split('|')
if len(res) < 3:
mon = 0
else:
mon = int(res[2])
pwd = res[1]
while true:
recharge_mon = input('請輸入充值金額:')
if recharge_mon.isdigit():
recharge_mon = int(recharge_mon)
mon += recharge_mon
with open(r'%s.txt' % user_name, 'w', encoding='utf-8') as f:
f.write('%s|%s|%s' % (user_name, pwd, mon))
f.flush()
break
else:
print('請輸入數字!')
return mon
def quit(mon, user_name, pwd):
print('購物清單!')
for i in shopping_list:
print('購買商品%s\t單價%s\t數量%s\t'%(i,good_list[i],shopping_list[i]))
print('總價:%s'%cost)
with open(r'%s.txt'%user_name,'w',encoding='utf-8') as f:
f.write('%s|%s|%s'%(user_name, pwd, mon))
f.flush()
pass
while true:
choice_list =
choice = input('1、註冊\n'
'2、登入\n'
'3、購物\n'
'請選擇功能:')
if choice.isdigit():
choice = int(choice)
if choice in [1, 2, 3]:
if choice == 1:
register()
if choice == 2:
login()
if choice == 3:
shopping()
break
else:
print('沒有該功能!')
else:
print('請輸入數字!')
購物車程式
要求 1 啟動程式,讓使用者輸入工資,列印商品列表2 允許使用者根據商品序號購買商品3 使用者選擇商品後,檢測餘額是否足夠,夠則直接扣款,不夠提示餘額不足4 可隨時退出,退出時列印商品列表 product list mac 180 迪奧 300 阿瑪尼 490 shopping list salar...
購物車程式
作業需求 資料結構 goods 功能要求 基礎要求 1 啟動程式後,輸入使用者名稱密碼後,讓使用者輸入工資,然後列印商品列表 2 允許使用者根據商品編號購買商品 3 使用者選擇商品後,檢測餘額是否夠,夠就直接扣款,不夠就提醒 4 可隨時退出,退出時,列印已購買商品和餘額 5 在使用者使用過程中,關鍵...
購物車程式
作業需求 資料結構 goods 功能要求 基礎要求 1 啟動程式後,輸入使用者名稱密碼後,讓使用者輸入工資,然後列印商品列表 2 允許使用者根據商品編號購買商品 3 使用者選擇商品後,檢測餘額是否夠,夠就直接扣款,不夠就提醒 4 可隨時退出,退出時,列印已購買商品和餘額 5 在使用者使用過程中,關鍵...