1. 程式人生 > >python購物車進階(函式)

python購物車進階(函式)

購物車進階:

用函式完成登入註冊以及購物車的功能。
1,啟動程式,使用者可選擇四個選項:登入,註冊,購物,退出。
2,使用者註冊,使用者名稱不能重複,註冊成功之後,使用者名稱密碼記錄到檔案中。
3,使用者登入,使用者名稱密碼從檔案中讀取,進行三次驗證,驗證不成功則退出整個程式。
4,使用者登入成功之後才能選擇購物功能進行購物,購物功能(就是將購物車封裝到購物的函式中)。
5,退出則是退出整個程式。

'''頭髮掉了不少'''
import os

'''使用者註冊'''


def register():
    username = input("請輸入註冊使用者名稱:
") password = input("請輸入註冊密碼:") with open('user.txt', encoding='utf-8', mode='r+') as f1: for i in f1: hard = i.split(' ') if username == hard[0]: print('使用者已存在') break else: f1.write(username + ' ' + password + '
\n') print('{}使用者註冊成功'.format(username)) '''使用者登入''' def login(): count = 1 while count <= 3: username = input('請輸入使用者名稱:') password = input('請輸入密碼:') with open('user.txt', encoding='utf-8') as f: for i in f: new_line = i.strip().split('
') if username == new_line[0] and password == new_line[1]: print('登入成功!') shopping() break else: print('使用者名稱或密碼錯誤,請重新輸入,還有{}次機會'.format(3 - count)) count += 1 continue break # login() '''購物車''' def shopping(): good_list = [ {"name": "iphone", "price": 999}, {"name": "watch", "price": 99}, {"name": "耳機", "price": 66}, {"name": "充電器", "price": 20} ] while True: monny = input('請輸入你充值的金額:').strip() if monny.isdigit(): print('成功充值', monny, '') break else: print('我要錢') # 判斷使用者輸入是不是錢 good_car = [] # 定義購物車商品列表 monny_test = [] # 定義餘額 false = True # 用於whlie退出 print("商品列表".center(30, '*')) print('序號'.center(10), '名稱'.center(10), '價格'.center(10)) shapp_len = len(good_list) for i in range(shapp_len): print(str(i + 1).center(10), good_list[i]['name'].center(10), str(good_list[i]['price']).center(10)) '''用於輸出序列號加商品名及價格''' while false: shopp = input("輸入你購買的商品序號q為進入購物車檢視:").upper() if shopp.isdigit(): # 判斷是是否為數字 if int(shopp) - 1 > shapp_len - 1: # -1為頭索引位置 print('輸入的序號不在範圍類') else: good_car.append((good_list[int(shopp) - 1]['name'], good_list[int(shopp) - 1]['price'])) print('{}已經新增到購物車,價格為{}'.format(good_list[int(shopp) - 1]['name'], good_list[int(shopp) - 1]['price'])) '''把選中商品的內容新增到good_car列表中''' elif shopp == 'Q': print('購物車的商品為'.center(30, '=')) print('商品名'.center(10), '價格'.center(10)) for i in good_car: print(i[0].center(10), str(i[1]).center(10)) monny_test.append(i[1]) Monny = sum(monny_test) # 求和 print('總個數為{}總金額為{}-->充值的金額為{}'.format(len(good_car), Monny, monny)) if int(monny) > Monny: print('購買成功,餘額為{}'.format(int(monny) - Monny)) break else: print('你的餘額不足,請去掉一下商品根據序號刪除:') print('購物車的商品為'.center(30, '=')) print('序號'.center(10), '商品 價格'.center(10)) while True: monny_test2 = [] # 定義刪除商品後餘額 for i in range(len(good_car)): print(str(i + 1).center(10), good_car[i]) num = int(input('你的餘額不足,請去掉一下商品,輸入產品序號')) - 1 # -1為頭索引位置0 if num < len(good_car): del good_car[num] # 選擇刪除的商品通過索引位置刪除 for i in good_car: print(i[0].center(10), str(i[1]).center(10)) monny_test2.append(i[1]) # 取出刪除後的商品價格新增到monny_test2中 Monny = sum(monny_test2) # 求和 print('總個數為{}總金額為{}-你充值的金額為{}'.format(len(good_car), Monny, monny)) if int(monny) >= Monny: # 如果總錢大於購買商品的錢則自動結算 print('購買成功,餘額為{}'.format(int(monny) - Monny)) break else: continue else: print('輸入超出範圍') false = False '''啟動程式''' while True: print('歡迎來到taobao——tow世界\n1\t使用者登入\n2\t使用者註冊\n3\t退出購物車') call = input('輸入你的選擇:') if call == '1': login() break elif call == '2': register() continue elif call == '3': break else: print('輸入有誤')

充滿活力的一天!!!