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(‘您输入的省不存在‘)

三级联动

时间: 2024-10-29 10:03:13

day01 练习题的相关文章

python基础 Day01 练习题

1 字符串格式化 1 #!/urs/bin/env python 2 3 name = input("Name: ") 4 age = int(input("Age: ")) 5 job = input("Job: ") 6 salary = input("Salary: ") 7 8 info1 = """ 9 10 ----------- info1 of %s --------- 11 na

Python——Day01

一.Python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承,Python通过C语言开发. TIOBE开发语言排名(2018-01-17),python排名第四 https://www.tiobe.com/tiobe-index/ Python可以应用于众多领域,如:数据分析.组件集成.网络服务.图像处理.数值计算和科学计算等众多领域.目前业内

s17data01

Pythen基础知识 1.py简介: Py语言是由代码转换成c字节码然后再转换成机器码 编码类型:ascll.万国码.utf-8.gbk(汉字) 2.py基础知识 2.1py变量 变量命名: 通俗易懂 用一定含义的变量命名 字母.数字.下划线命名,不能以下划线开头,不能使用py的关键字命名 2输入.输出语句 代码示例: #!/usr/bin/python# -*- coding:utf-8 -*-import getpass   #调用getpass模块user_name=input("请输入你

Shell学习之路和我发布过的Shell脚本博文

Shell学习之路 目录 Shell学习之路[第一篇]:别名,管道,用户配置文件,变量,read Shell学习之路[第二篇]:条件测试,运算符,选择结构,for循环结构 Shell学习之路[第三篇]:While循环,C-for循环,Until循环,case分支结构,流程控制语句 Shell学习之路[第四篇]:函数,数组,变量替换 Shell学习之路[第五篇]:多线程脚本 Shell学习之路[第六篇]:Trap信号捕捉命令介绍与Shell结合实战讲解 Shell学习之路[第七篇]:Linux下d

day01脚本练习题

1.管理员用户登陆系统时,可以使用如下方式,开启并闭系统服务 服务名 start|restart|stop|status sshd start 答案: #tail /etc/bashrc export PATH=/etc/init.d:$PATH #source /etc/bashrc 2.每周日晚上23:30对数据库服务器webdb数据库做完整备份,把备份文件保存到/mysqlbak文件里,用系统日期做备份文件名 答案: #crontab -e 30 23 * * 7 /usr/bin/mys

day01课程回顾,数据类型,(用户登录限制登录三次,购物车,省市县三级联动)

Day01 Python的分类 Cpython:代码àc字节码->机器码   一行一行的编译执行 Pypy:   代码àc字节码->机器码   全部转换完再执行 其他python  代码-->其他字节码-->机器码 Python的执行 Windows:C:\Python35\python.exe    D:\1.txt(python可执行文件路径---解释器   执行文件) Linux:可以在文件的头部写#!/usr/bin/python    python安装路径(用命令wher

Python基础-day01

写在前面 先后接触过很多编程语言,最喜欢的就是C和Python,相比其他语言,C 是神器,优点太多了:个人而言,C 最重要的一点就是能够让你在敲代码的时候是以一个计算机科学家的角度去思考,而不是仅仅停留在程序表面: 而Python很简单.实用:可以节省很多开发时间,Life is short, use Python.  他的简单之美也符合Unix/Linux 哲学:KISS(Keep It Simple, Stupid.) 这次来学习不仅仅是想写一些基础的脚本,而是想深入.全面的接触Python

[Lab4-1]抓路由练习题

[Lab4-1]抓路由练习题 问题1: 用ACL抓取172.18.0.0/16----172.29.0.0/16的路由 答案: 172.16.0.0 0.15.255.255,看上去很完美,但实际上框的范围有些大. R1(f0/0)-(f0/0)R2 R1上的接口地址: R1#sh ip int b Interface IP-Address OK? Method Status Protocol FastEthernet0/0 12.1.1.1 YES NVRAM up up Loopback0

VBS练习题

练习题: 1.输入3个数,输出其中最大的那个值. Option Explicit Dim intA,intB,intC intA=CInt(InputBox("请输入a:")) intB=CInt(InputBox("请输入b:")) intC=CInt(InputBox("请输入c:")) If intA>intB And intA>intC Then MsgBox "最大值是:"&intA ElseIf