python_day3作业

放肆的年华 提交于 2020-02-21 17:03:22

一、元素分类

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

 1 list_num = [11,22,33,44,55,66,77,88,99,90]
 2 dir_num = {
 3     'k1':[],
 4     'k2':[],
 5 }
 6 for i in list_num:
 7     if i > 66:
 8         dir_num['k1'].append(i)
 9     else:
10         dir_num['k2'].append(i)
11 print(dir_num)
View Code

二、查找列表中元素,移除每个元素的空格,并查找以 a或A开头 并且以 c 结尾的所有元素。

1 li = ["alec", " aric", "Alex", "Tony", "rain"]
2 tu = ("alec", " aric", "Alex", "Tony", "rain")
3 dic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"}
4 for i in li:
5     i = i.strip()
6     if (i.startswith('A') or i.startswith('a')) and i.endswith('c') :
7         print(i)
列表
1 li = ["alec", " aric", "Alex", "Tony", "rain"]
2 tu = ("alec", " aric", "Alex", "Tony", "rain")
3 dic = {'k1': "alex", 'k2': ' aric',  "k3": "Alex", "k4": "Tony"}
4 for i in tu:    
5     i = i.strip()
6     if (i.startswith('A') or i.startswith('a')) and i.endswith('c') :
7         print(i)
元组
1 li = ["alec", " aric", "Alex", "Tony", "rain"]
2 tu = ("alec", " aric", "Alex", "Tony", "rain")
3 dic = {'k1': "alex", 'k2': ' aric',  "k3": "Alex", "k4": "Tony"}
4 for i in dic.values():
5     i = i.strip()
6     if (i.startswith('A') or i.startswith('a')) and i.endswith('c') :
7         print(i)
字典

三、输出商品列表,用户输入序号,显示用户选中的商品

1 li = ["手机", "电脑", '鼠标垫', '游艇']
2 for k,i in enumerate(li,1):
3     print(k,i)
4 user = int(input('请输入商品序号:'))
5 print(li[user-1])
View Code

四、购物车

功能要求:
要求用户输入总资产,例如:2000
显示商品列表,让用户根据序号选择商品,加入购物车
购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
附加:可充值、某商品移除购物车

 1 goods = [
 2     {"name": "电脑", "price": 1999},
 3     {"name": "鼠标", "price": 10},
 4     {"name": "游艇", "price": 20},
 5     {"name": "美女", "price": 998},
 6 ]
 7 # 购物车
 8 shopping_cart = []
 9 # 购物总金额
10 shopping_money = 0
11 # 用户资产
12 arg = True
13 while arg:
14     user_property = input('总资产:')       #等待用户输入资产金额
15     if user_property.isdigit():            #判断用户输入是不是数字
16         while arg:                           #while 循环
17             print('商品列表:')                        #界面显示文字  '商品列表'
18             for k,i in enumerate(goods,1):              #循环goods列表
19                 print('序列:%s   名称:%s   价格:%s   '%(k,i['name'],i['price']))          #显示goods商品列表
20             user_buy = input('选择序号添加购物车,按q键退出>>>')       #user_buy 加入购物车
21             if user_buy.isdigit():                                      #判断用户输入是否是数字
22                 user_buy = int(user_buy)                                #转换int整数
23                 if user_buy <= len(goods):                              #判断用户输入的数字是否在列表存在
24                     shopping_cart.append(goods[user_buy-1])             #把用户购买的商品加入购物车
25                     print('----------------已购买商品----------------')
26                     for z,i in enumerate(shopping_cart,1):              #循环购物车,打印出已购买商品清单
27                         print('序列:%s名称:%s价格:%s'%(z,i['name'],i['price']))
28                     print('------------------------------------------')
29             elif user_buy == 'q':                                       #用户输入q退出商品列表界面
30                 for n in shopping_cart:  # 循环购物车商品,提取金额
31                     shopping_money += (n['price'])  # 把金额添加到自定义变量shopping_money,得出购物总金额
32                     user_property = int(user_property)  # 把user_property转换int类型
33                 arg =  False                                            #退出循环
34     else:
35         print('只能输入整数')
36         continue                    #用户输入资产金额,不是数字 直接continue返回从新输入资产金额
37 while True:                                     #while 循环
38     while True:
39         ppa = input('1 充值\n2 选择删除购物车物品\n3 结算\n>>>>>')       #等待用户输入选择
40         if ppa == '1':                         #用户选择充值
41             while True:
42                 pay = input('请输入充值金额:')    #等待用户输入充值金额
43                 if pay.isdigit():                      #判断用户输入是否是数字
44                     pay = int(pay)                        #把pay转换成int类型
45                     user_property += pay                    #把用充值金额加到总资产金额里
46                     print('                             余额:',user_property)      #显示用户当前余额(包括已充值)
47                     print('------------------------------------------')
48                     break                   #充值完退出次循环
49                 continue                    #用户输入的不是数字,返回从新输入金额
50         elif ppa == '2':          #用户选择删除
51             print('----------------已购买商品----------------')
52             for z,i in enumerate(shopping_cart,1):                #显示购物车列表
53                 print(z,(i['name'],i['price']))
54             print('------------------------------------------')
55             while True:
56                 cc = (input('选择删除物品的序列号\n退出按q键:'))      #等待用户选择删除物品序列
57                 if cc.isdigit():                                         #判断用户输入是否是数字
58                     cc = int(cc)                                          #把用户输入转换int类型
59                     shopping_money -= (shopping_cart[cc-1]['price']) #把用户删除物品价格从shopping_money中去除
60                     del shopping_cart[cc-1]                             #从购物车把物品删除
61                     for z,i in enumerate(shopping_cart,1):             #循环显示剩下购物车物品
62                         print(z,(i['name'],i['price']))
63                 else:               #按q键退出删除选项
64                     break
65         elif ppa == '3':        #用户选择结算
66             if shopping_money <= user_property:                         #如果购物车金额小于等于总金额则购买成功
67                 print('----------------已购买商品----------------')
68                 for z, i in enumerate(shopping_cart, 1):
69                     print(z, (i['name'], i['price']))
70                 print('------------------------------------------')
71                 print('                                余额:%s元' % (user_property - shopping_money))
72                 break
73             else:                                                      #如果购物车金额大于等于总金额则购买失败
74                 print('金额不足!''                   还差金额:', (shopping_money - user_property))
75                 print('------------------------------------------')
76     break                           #退出此次大循环
View Code

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

1 dic = {
 2     "河北": {
 3         "石家庄": ["鹿泉", "藁城", "元氏"],
 4         "邯郸": ["永年", "涉县", "磁县"],
 5     },
 6     "河南": {"郑州": ["不知道", "少林寺", "嵩山"],
 7         "邯郸": ["包拯", "展昭", "五鼠"]
 8     },
 9     "山西": {'太原':['xxx','ooo','999'],'运城':['撒旦','耶稣','华盛顿']}
10 }
11 for i in dic:
12     print(i)
13 name = input('请输入省份:')
14 dic_1 = dic[name]
15 for z in dic_1:
16      print(z)
17 name_1 = input('请输入县城:')
18 dic_2 = dic_1[name_1]
19 for x in dic_2:
20     print(x)
View Code

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!