二: ...
一.創建並輸出菜單, 菜單是不可變的. 所以使用元組
menus = ("1, 錄入", "2, 查詢", "3, 刪除", "4, 修改", "5, 退出")
存儲用戶的信息 id: {'name':'名字', 'weight':體重, 'height':身高}
例如:目前有兩個用戶信息:1. 汪峰, 2. 章子怡
存儲結構:
{
1:{'name':'汪峰', 'weight':80, 'height':1.8, 'BMI':24.7},
2:{'name':'章子怡', 'weight':50, 'height':1.65, 'BMI':18.4}
}
bodies = {}
body_id = 1 # 編號從1開始
體質指數(BMI)= 體重(kg)÷ (身高(m) x 身高(m))
體重的單位: KG
身高的單位: m
需求:首先。列印菜單,然後用戶輸入選擇的菜單項
輸入1:進入錄入環節。用戶需要錄入:名字,身高,體重.
由程式計算出BMI指數. 保存到bodies字典中. 第一個用戶的id是1, 第二個是2, 以此類推
錄入完畢後. 提示用戶是否繼續錄入. 如果選擇是, 則繼續進行錄入, 直到用戶輸入否. 則返回到主菜單
輸入2: 進入查詢環節, 提示用戶輸入要查詢的人的id. 如果不存在,給與提示, 如果存在. 則顯示出該用戶的全部信息(名字,身高,體重,BMI)
然後提示用戶是否繼續查詢. 如果選擇是, 繼續進行查詢, 直到用戶輸入否, 返回主菜單
輸入3: 進入刪除環節, 提示用戶輸入要刪除的人的id, 如果id不存在, 給與提示, 如果存在, 則執行刪除操作. 並提示刪除成功.
然後提示用戶是否繼續刪除, 如果是, 繼續讓用戶選擇要刪除的id, 直到用戶輸入否, 返回主菜單
輸入4: 進入修改環節, 首先讓用戶輸入要修改的人的id, 根據id查找用戶信息, 如果不存在, 給與提示, 如果存在, 將用戶原信息進行列印,
然後提示用戶輸入新的名字, 身高, 體重. 由程式重新計算BMI指數. 並將新的信息保存在bodies中. 同時給用戶展示新的用戶信息
然後提示用戶是否繼續修改, 如果是, 則繼續要求用戶輸入id信息. 直到用戶輸入否, 返回主菜單.
輸入5: 程式退出.
輸入其他任何內容. 都予以提示不合法. 讓用戶重新進行輸入
1 bodies = {} # 存儲用戶的信息 2 body_id = 1 # 編號從1開始 3 while 1: 4 menus = ("1, 錄入", "2, 查詢", "3, 刪除", "4, 修改", "5, 退出") 5 print("主菜單", menus) 6 content = int(input('請根據需求輸入菜單選項:')) 7 if content == 1: 8 while 1: 9 name1 = input("請您輸入您的名字:") 10 height1 = input("請您輸入您的身高:") 11 weight1 = input("請您輸入您的體重:") 12 B = int(weight1) / (int(height1) ** 2) 13 if body_id in bodies.keys(): 14 print("您輸入的id已經存在") 15 else: 16 bodies[body_id] = {'name': name1, 'weight': weight1, 'height': height1, 'BMI': B} 17 print("您的id是:", body_id) 18 print(bodies) 19 body_id += 1 20 con = input("您是否繼續錄入,按q/Q退出到主菜單,任意鍵繼續:") 21 if con.upper() == 'Q' : 22 break 23 elif content == 2: 24 while 1: 25 body_id = int(input("請您輸入要查詢的id:")) 26 if body_id in bodies.keys() : 27 print(bodies[body_id]) 28 else: 29 print("您輸入的id不存在") 30 con = input("是否繼續查詢. 如果選擇是,按任意鍵。 返回主菜單,按q/Q") 31 if con.upper() == 'Q': 32 break 33 elif content == 3: 34 while 1: 35 body_id = int(input("請您輸入要刪除的id:")) 36 if body_id in bodies.keys(): 37 bodies.pop(body_id) 38 else: 39 print("您輸入的id不存在") 40 con = input("是否繼續刪除. 如果選擇是,按任意鍵。 返回主菜單,按q/Q") 41 if con.upper() == 'Q': 42 break 43 elif content == 4 : 44 while 1: 45 body_id = int(input("請您輸入要修改的id")) 46 if body_id in bodies.keys(): 47 name1 = input("請您輸入您的名字:") 48 height1 = input("請您輸入您的身高:") 49 weight1 = input("請您輸入您的體重:") 50 B = int(weight1) / (int(height1) ** 2) 51 bodies[body_id] = {'name': name1, 'weight': weight1, 'height': height1, 'BMI': B} 52 else: 53 print("您輸入的id不存在") 54 con = input("是否繼續修改. 如果選擇是,按任意鍵。返回主菜單,按q/Q") 55 if con.upper() == 'Q': 56 break 57 elif content == 5: 58 break 59 else: 60 print("滾犢子,按上面菜單來")
二:
功能要求:
要求用戶輸入自己擁有總資產,例如:2000
顯示商品列表,讓用戶根據序號選擇商品,加入購物車
購買,如果商品總額大於總資產,提示賬戶餘額不足,否則,購買成功。
goods = [
{"name": "電腦", "price": 1999},
{"name": "滑鼠", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
1 goods = [ 2 {"name": "電腦", "price": 1999}, 3 {"name": "滑鼠", "price": 10}, 4 {"name": "游艇", "price": 20}, 5 {"name": "美女", "price": 998}, 6 ] 7 content = int(input("請您輸入您的總資產:")) 8 count = 1 #商品序號 9 buy=[]#加入購物車的商品序號 10 sum = 0 11 a='' 12 while 1: 13 for i in goods: 14 print("商品序號:",count,i) 15 count += 1 16 17 while a.upper() != 'Q': 18 buy.append(int(input("請輸入你要購買的商品序號"))) 19 for i in buy: 20 sum = sum + goods[i-1]["price"] 21 if sum <= content: 22 print("購買成功") 23 else: 24 print("賬戶餘額不足") 25 a = input("繼續按任意鍵,退出請按q/Q") 26 else: 27 break
三:用函數完成登錄註冊以及購物車的功能.
要求: 1, 啟動程式, 用戶可選擇四個選項: 登錄, 註冊, 購物, 退出.
2, 用戶註冊, 用戶名不能重覆, 註冊成功之後, 用戶名密碼記錄到文件中.
3, 用戶登錄, 用戶名密碼從文件中讀取,進行三次驗證, 驗證不成功則退出整個程式.
4, 用戶登錄成功之後才能選擇購物功能進行購物, 購物功能( 就是將購物車封裝到購物的函數中).
5, 退出則是退出整個程式.
1 def shopping(): 2 ''' 3 shop:存放選購的商品序號 4 :return: 返回購物商品的序號 5 ''' 6 shop = [] 7 with open('goods','r',encoding='utf-8') as f1: 8 for i in f1: 9 print(i) 10 while 1: 11 content=int(input("請選擇您要購買的商品的序號:")) 12 shop.append(count) 13 go=input("繼續購買按任意鍵,不購買按q/Q:") 14 if go.upper() == 'Q': 15 break 16 return shop 17 18 19 a = 0 #登陸成功則為1,未登陸則為0 20 while 1: 21 22 print("歡迎進入老男孩購物系統:登錄, 註冊, 購物, 退出") 23 content = input("請輸入選項:") 24 if content == '登陸': 25 print("您共有3次機會") 26 count = 3 27 while count > 0: 28 name = input("請輸入用戶名:") 29 password = input("請輸入密碼:") 30 with open('user','r',encoding='utf-8') as f1: 31 for line in f1: 32 de = line.strip().split(',') 33 if de[0] == name and de[1] == password: 34 print("恭喜您,登陸成功") 35 a = 1 36 break 37 else: 38 print("您輸入的用戶名或密碼錯誤") 39 count -= 1 40 if a == 1: 41 break 42 43 elif content == '註冊': 44 while 1: 45 name = input("請輸入用戶名:") 46 password = input("請輸入密碼:") 47 with open('user','r+',encoding='utf-8') as f1: 48 for line in f1: 49 ls=line.strip().split(',') 50 if ls[0] == name: 51 print("您輸入的賬戶已經被註冊,請重新輸入") 52 break 53 else: 54 f1.write(name+',') 55 f1.write(password) 56 f1.write('\n') 57 f1.flush() 58 f1.close() 59 print("註冊成功") 60 break 61 62 elif content == '購物': 63 if a == 1: 64 shopping() 65 else: 66 print("您必須先登陸才能購買") 67 68 elif content == '退出': 69 break 70 else: 71 print("請正確輸入")