2、python--第二天练习题
#1.有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
#即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
b = [11, 22, 33, 44, 55, 66, 77, 88, 99, 90]
a = {'k1':[],'k2':[]}
for i in b:
if i <= 66:
a['k1'].append(i)
else:
a['k2'].append(i)
print(a)
#2.查找列表中元素,移除每个元素的空格,并查找以 a或A开头 并且以 c 结尾的所有元素。
li = ["alec", " aric", "Alex", "Tony", "rain"]
tu = ("alec", " aric", "Alex", "Tony", "rain")
dic = {'k1': "alex", 'k2': ' aric', "k3": "Alex", "k4": "Tony"}
for i in li:
if (i.strip().startswith('a') or i.strip().startswith('A')) and i.strip().endswith('c'):
print(i.strip())
for i in dic.values():
if (i.strip().startswith('a') or i.strip().startswith('A')) and i.strip().endswith('c'):
print(i.strip())
#3.输出商品列表,用户输入序号,显示用户选中的商品
li = ["手机", "电脑", '鼠标垫', '游艇']
for k,v in enumerate(li):
print(str(k) +' : ' +v)
a = int(input("您选择的商品序号序号:"))
if a > 0 and a < len(li):
print('您选择的商品是:' + li[a])
else:
print('商品不存在')
#4.购物车
#功能要求:要求用户输入总资产,例如:2000,显示商品列表,让用户根据序号选择商品,加入购物车,购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
#附加:可充值、某商品移除购物车
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998},
]
Shopping = []
money = 0
sum_all= 0
credit = int(input('您现在有:' + '0 元,请输入您充值的金额:'))
print('您本次预存:' + str(credit) + '元')
while True:
for o, p in enumerate(goods):
print('商品序号' + str(o), ':' + p['name'] + '; 价格:' + str(p['price']))
a = input("请输入您选择的商品序号[输入q结算]:")
if a.isdigit():
if int(a) > o:
print('商品不存在,请重新选择!')
elif int(a) <= o:
sum_all += goods[int(a)]['price']
if credit >= sum_all:
Shopping.append(goods[int(a)]['name'])
money += goods[int(a)]['price']
print('商品:'+ goods[int(a)]['name'] +';已加入购物车,购物车清单:[' + ' '.join(Shopping) + '] 预计消费' + str(sum_all) +'元')
else:
print("余额不足!购物车清单:[" + ' '.join(Shopping)+ "], 您的预存金额为:" + str(credit) + '元,您预计消费为:' + str(sum_all) +'元;差' + str(sum_all-credit) +'元')
sum_all -= goods[int(a)]['price']
c = input("是否继续充值(y是/n否):")
if c == 'y':
d = input("请输入充值金额:")
credit += int(d)
print("您充值了%s元"%d)
elif c == 'n':
continue
else:
print("输入错误")
else:
print('输入错误!请输入您选择的商品序号[输入q结算]:')
if a.lower() == 'q':
print('您的购物清单如下:[%s];共消费:%s元;剩余:%s元' % (' '.join(Shopping), money, (credit - money)))
break
#5、用户交互,显示省市县三级联动的选择
dic = {
"河北": {
"石家庄": ["鹿泉", "藁城", "元氏"],
"邯郸": ["永年", "涉县", "磁县"],
},
"河南": {
"郑州":["中原","金水","中牟","二七"],
"商丘":["虞城","夏邑","宁陵","永城"],
},
"山西": {
"太原":["小店","古交","迎泽"],
"大同":["平城","云冈","广灵"],
}
}
while True:
for i in dic:
print(i)
sheng = input("请输入省份:")
for k in dic[sheng]:
print(k)
shi = input("请输入市,退出按q:")
if shi.lower() == 'q':
break
for j in dic[sheng][shi]:
print(j)
print('已经到底了,请继续选择省份!')
2、python--第二天练习题的更多相关文章
- Python之基础练习题
Python之基础练习题 1.执行 Python 脚本的两种方式 2.简述位.字节的关系 解:8位是一个字节 3.简述 ascii.unicode.utf-8.gbk 的关系 4.请写出 “李杰” 分 ...
- Python:程序练习题(二)
Python:程序练习题(二) 2.1温度转换程序. 代码如下: t=input("请输入带符号的温度值(如:32C):") if t[-1] in ["C", ...
- selenium webdriver (python) 第二版
前言 对于大多软件测试人员来讲缺乏编程经验(指项目开发经验,大学的C 语言算很基础的编程知识)一直是难以逾越的鸿沟,并不是说测试比开发人员智商低,是国内的大多测试岗位是功能测试为主,在工作时间中,我们 ...
- 简学Python第二章__巧学数据结构文件操作
#cnblogs_post_body h2 { background: linear-gradient(to bottom, #18c0ff 0%,#0c7eff 100%); color: #fff ...
- Python第二十四天 binascii模块
Python第二十四天 binascii模块 binascii用来进行进制和字符串之间的转换 import binascii s = 'abcde' h = binascii.b2a_hex(s) # ...
- Python第二十二天 stat模块 os.chmod方法 os.stat方法 pwd grp模块
Python第二十二天 stat模块 os.chmod方法 os.stat方法 pwd grp模块 stat模块描述了os.stat(filename)返回的文件属性列表中各值的意义,根据 ...
- Python第二十六天 python装饰器
Python第二十六天 python装饰器 装饰器Python 2.4 开始提供了装饰器( decorator ),装饰器作为修改函数的一种便捷方式,为工程师编写程序提供了便利性和灵活性装饰器本质上就 ...
- Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助
Python第二天 变量 运算符与表达式 input()与raw_input()区别 字符编码 python转义符 字符串格式化 format函数字符串格式化 帮助 目录 Pychar ...
- python第二十九课——文件读写(复制文件)
自定义函数:实现文件复制操作有形参(2个) 没有返回值相似版(不用) def copyFile(src,dest): #1.打开两个文件:1个关联读操作,1个关联写操作 fr=open(src,'rb ...
- python第二十九课——文件读写(读取读取中文字符)
演示:读取中文字符 结论: 1).如果不设置encoding,默认使用gbk进行编解码 2).如果编码和解码不一致,最终导致报错,但是一旦设置了errors='ingore',那么就不会报错,而采取乱 ...
随机推荐
- COleVariant类
COleVariant本质上是一个枚举,用同一种类型来表达不同的子类型.如同boost中的variant. COLeVariant类是对VARIANT结构的封装. VARIANT结构包含两部分.其一是 ...
- Linux (x86) Exploit 开发系列教程之二(整数溢出)
(1)漏洞代码 //vuln.c #include <stdio.h> #include <string.h> #include <stdlib.h> void s ...
- go 函数闭包
Go 函数可以是闭包的.闭包是一个函数值,它来自函数体的外部的变量引用. 函数可以对这个引用值进行访问和赋值:换句话说这个函数被“绑定”在这个变量上. 例如,函数 adder 返回一个闭包.每个闭包都 ...
- Python开发【第五章】:常用模块
一.模块介绍: 1.模块定义 用来从逻辑上组织python代码(变量,函数,类,逻辑:实现一个功能),本质上就是.py结尾python文件 分类:内置模块.开源模块.自定义模块 2.导入模块 本质:导 ...
- asp.net core-15.Individual authentication 模板
在visual studio code执行dotnet new mvc --help 可以查看执行命令 visual studio code先创建一个mvc的项目 dotnet new mvc -au ...
- mysql 树结构递归处理
日常开发中我们经常会遇到树形结构数据处理,一般表结构通常会常用id,pid这种设计方案. 之前用oracle.sqlServer数据库,用相应的语法即可获取树形结构数据(oracel:connect ...
- 数据库及MYSQL基础(2)
数据库及MySQL基础(1) SQL进阶及查询练习 1,单表的查询练习 SELECT * FROM emp WHERE deptno=30; SELECT ename,empno,deptno FRO ...
- freemarker循环、下标及判断
一.freemarker中list循环使用非常频繁,下面介绍lfreemarker中list简单的用法 1.在freemarker中遍历list数组使用list指令:<#list sequenc ...
- vue-cli || webpack 打包的时候css里面写的背景图片的路径出错问题
.bg width 100% position fixed left 0 top 0 height 100vh z-index -1 background url('~@/assets/imgs/bg ...
- Java 面向对象(二)封装
一.封装(Encapsulation) 1.概述 封装是面向对象编程的核心思想.把对象的属性和行为封装起来,其载体就是类. 面向对象编程语言是对客观世界的模拟,客观世界里成员变量都是隐藏在对象内部的, ...