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('输入的内容不合法,请重新输入!')