PT--set集合 字典的fromkeys() 深浅拷贝 work01(购物车 BMI指数)

 1 # 1. 判断水仙花数(三位数)   如:153 = 1**3 + 5**3 + 3**3
 2 num=int(input('请输入一个数:'))
 3 sum=0
 4 if 99 < num < 1000:
 5     s = str(num)
 6     for i in s:
 7         sum += int(i) ** 3
 8     if sum==num:
 9         print('该数是水仙花数')
10 else:
11     print('该数不是水仙花数')
12 
13 
14 # 2. 对列表中的纯数字进行排序 要求:循环列表
15  #  冒泡排序 中心思想就是 交换
16  # 该题可以优化,时间复杂度较高  (可以思考一下)
17 lis=[45,3,2,67,56,34,65,87,98,23,85,56,67]
18 m=0
19 while m<len(lis):   #控制次数
20     i = 0
21     while i < len(lis) - 1:    #一次比较的结果,最大的数换到最后位置
22         if lis[i] > lis[i + 1]:
23             # t = lis[i]
24             # lis[i] = lis[i + 1]
25             # lis[i + 1] = t
26             lis[i],lis[i+1]=lis[i+1],lis[i]
27         i += 1
28     m+=1
29 print(lis)
30 
31 
32 # 3.   36个数随机选择7个不同的数  去重
33 from random import randint   #引入随机数模块
34 set1=set()   #用集合存储可以去重
35 while 1:
36     num = random.randint(1, 36)
37     set1.add(num)
38     if len(set1)==7:
39         break
40 print(set1)
41 
42 # 4.
43 money=int(input('请输入工资:'))
44 a1=(4000-2000)*0.03
45 a2=(6000-4000)*0.05
46 a3=(10000-6000)*0.08
47 if money<=2000:
48     pass
49 elif money<=4000:
50     money=money-(money-2000)*0.03
51 elif money<=6000:
52     money=money-(money-4000)*0.05-a1
53 elif money<=10000:
54     money=money-(money-6000)*0.08-a2-a1
55 else:
56     money=money-(money-10000)*0.2-a3-a2-a1
57 print('税后工资为%s' % (money))

 

 1 """
 2 功能要求:
 3 要求用户输入自己拥有总资产,例如:2000
 4 显示商品列表,让用户根据序号选择商品,加入购物车
 5 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
 6 """
 7 goods = [
 8     {"name": "电脑", "price": 1999},
 9     {"name": "鼠标", "price": 10},
10     {"name": "游艇", "price": 20},
11     {"name": "美女", "price": 998},
12 ]
13 zc=int(input('请输入你的资产:').strip())
14 sum=0   #计算商品总额
15 while 1:
16     for i in goods:
17         i_index = goods.index(i)  # i的索引
18         print(i_index + 1, goods[i_index].get('name'), goods[i_index].get('price'))
19     gNum=input('请用户输入选择商品的序列号(输入Q或q 退出选择商品):')
20     if gNum.isdigit() and 0<int(gNum)<len(goods)+1:
21         i_index=int(gNum)-1
22         print(goods[i_index]['name'],goods[i_index]['price'])
23         sum+=goods[i_index]['price']
24     elif gNum.upper()=='Q':
25         break
26     else:
27         print('输入的序列号有误,请重新输入!')
28         continue
29 content=input('是否购买(是 否)')
30 while 1:
31     if content=='':
32         print('商品总额为%s'%(sum))
33         if sum>zc:
34             print('账户余额不足!')
35             break
36         else:
37             yu=zc-sum
38             print('购买成功,余额为%s'%(yu))
39             break
40     elif content=='':
41         print('退出程序!')
42         break
43     else:   #输入其他的内容
44         print('输入的内容不正确,请输入(是 否)!')
45         continue

 

  1 # 1.创建并输出菜单, 菜单是不可变的. 所以使用元组
  2 # menus = ("1, 录入", "2, 查询", "3, 删除", "4, 修改", "5, 退出")
  3 
  4 # 存储用户的信息    id: {'name':'名字', 'weight':体重, 'height':身高}
  5 # 例如:目前有两个用户信息:1. 汪峰, 2. 章子怡
  6 # 存储结构:
  7 # {
  8 #   1:{'name':'汪峰', 'weight':80, 'height':1.8, 'BMI':24.7},
  9 #   2:{'name':'章子怡', 'weight':50, 'height':1.65, 'BMI':18.4}
 10 # }
 11 # bodies = {}
 12 
 13 body_id = 1  # 编号从1开始
 14 
 15 # 体质指数(BMI)= 体重(kg)÷ (身高(m) x 身高(m))
 16 # 体重的单位: KG
 17 # 身高的单位: m
 18 # 需求:首先。打印菜单,然后用户输入选择的菜单项
 19 # 输入1:进入录入环节。用户需要录入:名字,身高,体重.
 20 #       由程序计算出BMI指数. 保存到bodies字典中. 第一个用户的id是1, 第二个是2, 以此类推
 21 #       录入完毕后. 提示用户是否继续录入. 如果选择是, 则继续进行录入, 直到用户输入否. 则返回到主菜单
 22 # 输入2: 进入查询环节, 提示用户输入要查询的人的id. 如果不存在,给与提示, 如果存在. 则显示出该用户的全部信息(名字,身高,体重,BMI)
 23 #       然后提示用户是否继续查询. 如果选择是, 继续进行查询, 直到用户输入否, 返回主菜单
 24 # 输入3: 进入删除环节, 提示用户输入要删除的人的id, 如果id不存在, 给与提示, 如果存在, 则执行删除操作. 并提示删除成功.
 25 #        然后提示用户是否继续删除, 如果是, 继续让用户选择要删除的id, 直到用户输入否, 返回主菜单
 26 # 输入4: 进入修改环节, 首先让用户输入要修改的人的id, 根据id查找用户信息, 如果不存在, 给与提示, 如果存在, 将用户原信息进行打印,
 27 #       然后提示用户输入新的名字, 身高, 体重. 由程序重新计算BMI指数. 并将新的信息保存在bodies中. 同时给用户展示新的用户信息
 28 #       然后提示用户是否继续修改, 如果是, 则继续要求用户输入id信息. 直到用户输入否, 返回主菜单.
 29 # 输入5: 程序退出.
 30 # 输入其他任何内容. 都予以提示不合法. 让用户重新进行输入
 31 
 32 
 33 bodies = {}
 34 while 1:
 35     menus = ("1, 录入", "2, 查询", "3, 删除", "4, 修改", "5, 退出")
 36     print(menus)
 37     content=input('请选择菜单(选择编号即可):')
 38     if content =='1':
 39         while 1:
 40             info={}
 41             name = input('请录入名字:').strip()
 42             weight =float(input('请录入体重(kg):').strip())
 43             height =float(input('请录入身高(m):').strip())
 44             BMI=weight/(height**2)
 45             info['name']=name
 46             info['weight']=weight
 47             info['height']=height
 48             info['BMI']=BMI
 49             bodies[len(bodies)+1]=info
 50             m=input('是否继续录入(是 否):').strip()
 51             if m=='':
 52                 continue
 53             else:
 54                 break
 55     elif content=='2':
 56         while 1:
 57             i=int(input('请输入查询ID:').strip())
 58             if i in bodies:
 59                 print(bodies[i])
 60             else:
 61                 print('输入的ID不存在!')
 62             mm=input('是否继续查询(是 否):').strip()
 63             if mm=='':
 64                 continue
 65             else:
 66                 break
 67     elif content=='3':
 68         while 1:
 69             i=int(input('请输入要删除的ID:').strip())
 70             if i in bodies:
 71                 bodies.pop(i)
 72                 print('删除成功!')
 73             else:
 74                 print('输入的ID不存在!')
 75             mm=input('是否继续删除(是 否):').strip()
 76             if mm=='':
 77                 continue
 78             else:
 79                 break
 80     elif content=='4':
 81         while 1:
 82             i=int(input('请输入要修改的id').strip())
 83             if i in bodies:
 84                 print('%s号信息为%s:'%(i,bodies[i]))
 85                 name = input('请录入名字:').strip()
 86                 weight = float(input('请录入体重(kg):').strip())
 87                 height = float(input('请录入身高(m):').strip())
 88                 BMI = weight / (height ** 2)
 89                 info['name'] = name
 90                 info['weight'] = weight
 91                 info['height'] = height
 92                 info['BMI'] = BMI
 93                 bodies[i]=info
 94                 print('修改后信息为:%s'%(bodies[i]))
 95             else:
 96                 print('输入的ID不存在!')
 97             mm=input('是否继续修改(是 否):').strip()
 98             if mm=='':
 99                 continue
100             else:
101                 break
102     elif content=='5':
103         break
104     else:
105         print('输入的内容不合法,请重新输入!')

 

posted @ 2018-08-04 22:01  葡萄想柠檬  Views(191)  Comments(0)    收藏  举报
目录代码