購物車程式(函式版)

2022-08-17 00:18:17 字數 3840 閱讀 2948

import os

good_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 在使用者使用過程中,關鍵...