1. 程式人生 > >重構優化Python購物車

重構優化Python購物車

優化購物車 python

# -*- coding:utf-8 -*- def regiter(): while True: username = input("請輸入您的賬號:").strip() password = input("請輸入您的密碼:").strip()#去除空格及換號符 with open('register',encoding='UTF-8')as f1: for line in f1:#循環讀取註冊文件中的內容 line_list=line.strip().replace(',',',').split(',')#去除空格及換號符以及把中文逗號換成英文逗號 #print(type(line_list)) if username==line_list[0]: print("用戶名已經存在,請重新輸入") break else: with open('register', encoding='UTF-8',mode='a')as f2: f2.write('\n{},{}'.format(username,password)) print("恭喜你註冊成功%s"%username) return True #結束函數 def login(): i=0#計數器 while i<3:#超過3次後,登陸失敗 username = input("請輸入您的賬號:").strip() password = input("請輸入您的密碼:").strip() # 去除空格及換號符 with open('register',encoding='UTF-8')as f1: for line in f1:#循環讀取註冊文件中的內容 line_list=line.strip().replace(',',',').split(',')#去除空格及換號符以及把中文逗號換成英文逗號 #print(type(line_list)) if username==line_list[0]and password==line_list[1]: print("*******登陸成功*******") return True else: print("賬戶或密碼輸入錯誤") i+=1 def shopping(): list_he=[] offer=input("請輸入您的儲值卡金額:").strip() if offer.isdigit(): offer=int(offer) while True: shipin2 = [['牛奶', 20], ['肉幹', 30], ['大米', 15], ['面包', 15], ['啤酒', 3.5]] for i, a in enumerate(shipin2, 1): # 循環打印商品列表 print("序號:%s" % i, "商品:%s" % a[0], "價格:%s元" % a[1]) huo_qu = input("請輸入你要購買的商品,輸入[0]退出").strip() if huo_qu.isdigit(): huo_qu=int(huo_qu) if huo_qu > 0 and huo_qu <= len(shipin2): # 驗證輸入是否正確 j = shipin2[huo_qu - 1] # 購買的商品和價格 if j[1] > offer: # 判斷想要購買的商品價格是否超過了余額 print("您的余額不足,請及時充值") else: offer = offer - j[1] # 算出購買商品後的價格 print("您購買的商品為%s" % j[0], "剩余金額為%s" % offer) # 輸出購買的商品 list_he.append(j[0]) # 把已購買商品添加至集合中 print("您已經購買了%s" % list_he) # 已購買商品集合 continue elif huo_qu == 0: print("退出程序,再見") for m in list_he: print("您購買了%s" % m) break else: print("商城貨物暫時短缺,請輸入正確的商品序號") else: print("您輸入的有非法字符,請重新輸入") choice_dict={ 1:regiter, 2:login, 3:shopping } while True: print('''-------歡迎光臨購物商場------- 1:註冊 2:登陸 3:購物 4:退出 ''') choice=input("請選擇序號").strip() if choice.isdigit(): choice=int(choice) if choice>0 and choice<=len(choice_dict): choice_dict[choice]() else: print("您輸入的超出範圍") else: print("您輸入的有非法字符")


重構優化Python購物車