python基本数据类型练习
一、元素分类
# 有如下值集合 [11,22,33,44,55,66,77,88,99,90...],将所有大于 66 的值保存至字典的第一个key中,将小于 66 的值保存至第二个key的值中。
# 即: {'k1': 大于66的所有值, 'k2': 小于66的所有值}
list1 = [11,22,33,44,55,66,77,88,99,90]
dic1 = {
'k1':[],
'k2':[]
}
for l in list1:
if l > 66:
dic1['k1'].append(l)
else:
dic1['k2'].append(l)
print(dic1)
二、查找
1、 查找列表中元素,移除每个元素的空格,并查找以 a或A开头 并且以 c 结尾的所有元素
li = ["alc", " aric ", "Aex", "Tny", "rain"]
list1 =[]
for l in li:
#使用strip方法确定能寻找到所有元素,startwith,endwith按条件进行查找
if l.strip().startswith('a'or 'A') and l.strip().endswith('c'):
#print(l.strip())
list1.append(l.strip())
print(list1)
2、元组
tu = ("alc", " aric", "Alx", "Tny", "rain")
#找出的元素放到一个新列表中,因为元组中不能增加元素
list2 =[]
for l in tu:
#使用strip方法确定能寻找到所有元素,startwith,endwith按条件进行查找
#if 判断遇到or和and是需要注意执行成功时的判断
if l.strip().startswith('a'or 'A') and l.strip().endswith('c'):
#print(l.strip())
list2.append(l.strip())
print(list2)
3、字典
dic = {'k1': "alx", 'k2': ' aric', "k3": "Alx", "k4": "Tny","k5":" Anc "}
#定义一个空字典
dic1 = {}
for k,v in dic.items():
if (v.strip().startswith('a') or v.strip().startswith('A')) and v.strip().endswith('c'):
print(v)
dic1[k] =v
print(dic1)
三、输出商品列表,用户输入序号,显示用户选中的商品
# 商品
li = ["手机", "电脑", '鼠标垫', '键盘']
for num,v in enumerate(li,1):
print(num,v)
choice = int(input("请选择商品:"))
choice1=choice-1
if choice1>=0 and choice1<=len(li)-1:
print(li[choice1])
else:
print("商品不存在")
四、购物车
# 功能要求:
# 要求用户输入总资产,例如:2000
# 显示商品列表,让用户根据序号选择商品,加入购物车
# 购买,如果商品总额大于总资产,提示账户余额不足,否则,购买成功。
# 附加:可充值、某商品移除购物车
方法一:
goods = [
{"product": "电脑", "price": 1999},
{"product": "鼠标", "price": 10},
{"product": "iphone", "price": 5000},
{"product": "kindle", "price": 998},
]
#已经买到的商品
list_buy = []
#输入总资产
all_money = 0
all_money = int(input("请输入总资产:"))
#输出所有的产品
for key,i in enumerate(goods,1):
print(i['product'],i['price'])
#当条件成立时,在购买环节循环
while True:
#选择需要买的商品
choice = input("请选择商品(y/Y进行结算购买):")
#是否进行结算
if choice.lower() == "y":
break #循环所有的商品与选择商品进行对比,如果存在,就添加到list_buy中
for v in goods:
if choice == v["product"]:
list_buy.append(v)
#输出所有打算购买的商品
print(list_buy)
#定义商品总价初始值
total_price = 0
for p in list_buy:
#计算所有商品价格
total_price = total_price+p["price"]
if total_price>all_money:
print("你的钱不够,请充值%d元"%(total_price-all_money))
chongzhi = int(input("输入充值金额:"))
all_money +=chongzhi
else:
print("购买成功")
print(list_buy)
方法二:
goods = [
{"product": "电脑", "price": 1999},
{"product": "鼠标", "price": 10},
{"product": "iphone", "price": 5000},
{"product": "kindle", "price": 998},
]
salary = int(input("请输入工资:"))
#dic_shop_cart = {"product":{"price":0,"num":0}}
dic_shop_cart = {}
#循环输出所有产品
for p in goods:
print(p['product'],p['price'])
while True:
choice = input("请选择购买的商品(y/Y进行结算):")
if choice.lower() == 'y':
break
#循环所有商品
for item in goods:
#判断选择的商品是否在所有商品中
if item["product"] == choice:
#如果存在,就把商品赋值给product
product = item["product"]
#如果商品在字典dic_shop_cart中,字典中num就加1
if product in dic_shop_cart.keys():
dic_shop_cart[product]["num"] = dic_shop_cart[product]["num"] + 1
#如果不在,就第一次添加到字典中
else:
dic_shop_cart[product] = {"num":1,"single_price":item["price"]}
print(dic_shop_cart)
sum_price = 0
for k,v in dic_shop_cart.items():
# print(k,v)
t_price = v["single_price"]*v["num"]
print("购买%s的数量为%s:总价为%d"%(k,v["num"],t_price))
sum_price=sum_price+t_price
print("所有商品总价为:%s"%sum_price)
if sum_price>salary:
print("你的钱不够,哈哈哈。。。,别买了吧")
else:
print("购买成功,有钱人啊。。。")
输出结果:

五、用户交互,显示省市县三级联动的选择
dic = {
"河北": {
"石家庄": ["鹿泉", "藁城", "元氏"],
"邯郸": ["永年", "涉县", "磁县"],
},
"北京": {
"大兴": ["黄村", "清源", "天宫院"],
"海淀": ["中关村", "西二旗", "五道口"],
},
"安徽": {
"合肥": ["庐阳", "肥西", "滨湖"],
"安庆": ["桐城", "宜秀区", "岳西"],
}
}
for p in dic:
print(p)
p1 = input("请输入省份:")
if p1 in dic.keys():
for s in dic[p1]:
print(s)
s1 = input("请输入市区:")
if s1 in dic[p1].keys():
for q in dic[p1][s1]:
print(q)
else:
print("市区还没有录入")
else:
print("省份还没有录入")
执行结果:

python基本数据类型练习的更多相关文章
- python 基本数据类型分析
在python中,一切都是对象!对象由类创建而来,对象所拥有的功能都来自于类.在本节中,我们了解一下python基本数据类型对象具有哪些功能,我们平常是怎么使用的. 对于python,一切事物都是对象 ...
- python常用数据类型内置方法介绍
熟练掌握python常用数据类型内置方法是每个初学者必须具备的内功. 下面介绍了python常用的集中数据类型及其方法,点开源代码,其中对主要方法都进行了中文注释. 一.整型 a = 100 a.xx ...
- 闲聊之Python的数据类型 - 零基础入门学习Python005
闲聊之Python的数据类型 让编程改变世界 Change the world by program Python的数据类型 闲聊之Python的数据类型所谓闲聊,goosip,就是屁大点事可以咱聊上 ...
- python自学笔记(二)python基本数据类型之字符串处理
一.数据类型的组成分3部分:身份.类型.值 身份:id方法来看它的唯一标识符,内存地址靠这个查看 类型:type方法查看 值:数据项 二.常用基本数据类型 int 整型 boolean 布尔型 str ...
- Python入门-数据类型
一.变量 1)变量定义 name = 100(name是变量名 = 号是赋值号100是变量的值) 2)变量赋值 直接赋值 a=1 链式赋值 a=b=c=1 序列解包赋值 a,b,c = 1,2,3 ...
- Python基础:八、python基本数据类型
一.什么是数据类型? 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能,计算机虽然很强大,但从某种角度上来看又很傻,除非你明确告诉它,"1"是数字,"壹&quo ...
- python之数据类型详解
python之数据类型详解 二.列表list (可以存储多个值)(列表内数字不需要加引号) sort s1=[','!'] # s1.sort() # print(s1) -->['!', ' ...
- Python特色数据类型(列表)(上)
Python从零开始系列连载(9)——Python特色数据类型(列表)(上) 原创 2017-10-07 王大伟 Python爱好者社区 列表 列表,可以是这样的: 分享了一波我的网易云音乐列表 今天 ...
- 【Python】-NO.97.Note.2.Python -【Python 基本数据类型】
1.0.0 Summary Tittle:[Python]-NO.97.Note.2.Python -[Python 基本数据类型] Style:Python Series:Python Since: ...
- python基本数据类型之集合
python基本数据类型之集合 集合是一种容器,用来存放不同元素. 集合有3大特点: 集合的元素必须是不可变类型(字符串.数字.元组): 集合中的元素不能重复: 集合是无序的. 在集合中直接存入lis ...
随机推荐
- swiper轮播 swiper整屏轮播
近期坐了几个移动端 整屏轮播的 效果 之前都是自己一个个写,之前听说过swiper插件,没有使用过,今天一尝试,果然,爽 使用方法示例 <div class="swiper-cont ...
- Undefined exploded archive location(在myeclipse中TOMCAT不能发布程序。)
原因: 在工程转移过程中,导致工程的配置文件出错: 解决方法: 1.在工程目录下的.mymetadata文件中可能webrootdir被改无效了(把下面内容拷到你的 ...
- I2C Bus
概述: I²C 是Inter-Integrated Circuit的缩写,发音为"eye-squared cee" or "eye-two-cee" , 它是一 ...
- Python:列表反序和解析
1)列表反序 A.list.reverse():将列表反序: l = [1, 2, 3, 4, 5] print(l.reverse()) -->[5, 4, 3, 2, 1] B.l.[::- ...
- Spring Boot中使用RabbitMQ
很久没有写Spring Boot的内容了,正好最近在写Spring Cloud Bus的内容,因为内容会有一些相关性,所以先补一篇关于AMQP的整合. Message Broker与AMQP简介 Me ...
- 对spring、AOP、IOP的理解 (转)
spring 的优点?1.降低了组件之间的耦合性 ,实现了软件各层之间的解耦2.可以使用容易提供的众多服务,如事务管理,消息服务等3.容器提供单例模式支持4.容器提供了AOP技术,利用它很容易实现如权 ...
- css之布局
布局一直是页面制作很重要的部分,有个良好的布局不仅在页面上呈现很好的效果,还对后续功能扩展有重要的作用.本文主要讨论一下几种布局: 水平居中布局 垂直居中布局 多列布局 自适应布局 stracky-f ...
- .net 缓存之文件缓存依赖
CaCheHelp 类中代码如下: #region 根据键从缓存中读取保持的数据 /// <summary> /// 根据键从缓存中读取保持的数据 /// </summary> ...
- [poj3311]Hie with the Pie(Floyd+状态压缩DP)
题意:tsp问题,经过图中所有的点并回到原点的最短距离. 解题关键:floyd+状态压缩dp,注意floyd时k必须在最外层 转移方程:$dp[S][i] = \min (dp[S \wedge (1 ...
- Learning Python 008 正则表达式-003 search()方法
Python 正则表达式 - search()方法 findall()方法在找到第一个匹配之后,还会继续找下去,findall吗,就是找到所有的匹配的意思.如果你只是想找到第一个匹配的信息后,就不在继 ...