诚意
诚意如你,当一诚的态度对待

导航

 
一.创建并输出菜单, 菜单是不可变的. 所以使用元组
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("请正确输入")

 



posted on 2018-08-05 21:37  诚意  阅读(1601)  评论(1编辑  收藏  举报