首页 > 代码库 > day01 练习题

day01 练习题

1. 元素分类

有如下值集合 v1 = [11,22,33,44,55,66,77,88,99,90],
将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
即: {‘k1‘: 大于66的所有值, ‘k2‘: 小于66的所有值}
v2 = {‘k1‘: [],‘k2‘:[] }

技术分享
 1 #!/usr/bin/python
 2 # -*- coding:utf-8 -*-
 3 # a.元素分类
 4 v1 = [11,22,33,44,55,66,77,88,99,90]
 5 v2 = {k1:[],k2:[]}
 6 for i in v1:
 7     if i < 66:
 8         v2[k1].append(i)
 9     else:
10         v2[k2].append(i)
11 print(v2)
元素分类

 

2. 功能要求:
要求用户输入总资产,例如:2000;

显示商品列表,让用户根据序号选择商品,加入购物车购买;

如果商品总额大于总资产,提示账户余额不足,否则,购买成功。

goods = [
  {"name": "电脑", "price": 1999},
  {"name": "鼠标", "price": 10},
  {"name": "游艇", "price": 20},
  {"name": "美女", "price": 998},
]

技术分享
 1 #!/usr/bin/python
 2 # -*- coding:utf-8 -*-
 3 goods = [
 4     {"name": "电脑", "price": 1999},
 5     {"name": "鼠标", "price": 10},
 6     {"name": "游艇", "price": 20},
 7     {"name": "美女", "price": 998},
 8 ]
 9 salary = input(总资产:)
10 list = []
11 shopping_cart = []
12 if salary.isnumeric():
13     salary = int(salary)
14     for i in goods:
15         item = []
16         item.append(i[name])
17         item.append(i[price])
18         list.append(item)
19     # for x in list:                # 此方法与下面的方法输出结果一致
20     #     print(list.index(x),x)
21     print(----- 商品列表 ------)
22     for index,goods_list in enumerate(list):
23         print(index,goods_list)
24     while True:
25         choice_id = input(选择商品或退出(q):)
26         if choice_id.isdigit():
27             choice_id = int(choice_id)
28             if choice_id < len(list):
29                 if salary >= list[choice_id][1]:
30                     shopping_cart.append(list[choice_id])
31                     salary -= list[choice_id][1]
32                     print(已添加 "%s" 至购物车,余额:\033[31;1m%s\033[0m% (list[choice_id][0],salary))
33                 else:
34                     print(余额不足)
35             else:
36                 print(商品不存在)
37         elif choice_id == q:
38             print(余额:\033[31;1m%s\033[0m, 已购买的商品:% salary)
39             for id, al_shop in enumerate(shopping_cart):
40                 print(id, al_shop)
41             exit(退出)
42         else:
43             print(Invalid option)
44 else:
45     print(输入无效)
购物车

 

 

3.用户交互,显示省市县三级联动的选择

dic = {
‘河北‘:{
‘石家庄‘:[‘鹿泉‘,‘藁城‘,‘元氏‘],
‘邯郸‘:[‘永年‘,‘涉县‘,‘磁县‘],
},
‘湖北‘:{
‘十堰‘:[‘茅箭‘,‘郧西‘,‘张湾‘],
‘襄阳‘:[‘襄城‘,‘樊城‘,‘南鄣‘],
},
‘北京‘:{
‘朝阳‘:[‘北苑‘,‘大屯‘,‘奥运村‘],
‘昌平‘:[‘回龙观‘,‘天通苑‘,‘立水桥‘],
},
}
技术分享
 1 #!/usr/bin/python
 2 # -*- coding:utf-8 -*-
 3 
 4 # c.用户交互,显示省市县三级联动的选择
 5 dic = {
 6     河北:{
 7         石家庄:[鹿泉,藁城,元氏],
 8         邯郸:[永年,涉县,磁县],
 9     },
10     湖北:{
11         十堰:[茅箭,郧西,张湾],
12         襄阳:[襄城,樊城,南鄣],
13     },
14     北京:{
15         朝阳:[北苑,大屯,奥运村],
16         昌平:[回龙观,天通苑,立水桥],
17     },
18 }
19 
20 while True:
21     print(-------- 省列表 -------)
22     for province in dic:
23         print(province)
24     prov = input(请输入省,q 退出:)
25     if prov in dic:
26         while True:
27             print(-------- 市列表 --------)
28             for city_list in dic[prov].keys():
29                 print(\t,city_list)
30             choice_city = input(请选择市,b 返回:)
31             if choice_city in dic[prov].keys():
32                 print(------- 县列表 -------)
33                 while True:
34                     for county_list in dic[prov][choice_city]:
35                         print(\t\t,county_list)
36                     choice_county = input(请选择县, b 返回:)
37                     if choice_county in dic[prov][choice_city]:
38                         print(您选择的是:%s省,%s市,%s县% (prov,choice_city,choice_county))
39                         quit = input(您还想继续吗?q 退出,b 返回,其它键继续:)
40                         if quit == q:
41                             exit(不玩了)
42                         elif quit == b:
43                             break
44                     elif choice_county == b:
45                         break
46                     else:
47                         print(您选择的县不存在)
48                     #break
49             elif choice_city == b:
50                 break
51             else:
52                 print(您选择的市不存在)
53             #break
54     elif prov == q:
55         print(===== 退出系统 =====)
56         break
57     else:
58         print(您输入的省不存在)
三级联动

 

day01 练习题