python列表、元组、字典练习题
1.元素分类
有如下值集合[11,22,33,44,55,66,77,88,99,90], 将所有大于66的值保存至字典的第一个key中,将小于66值保存至第二个key的值中。
li = [11,22,33,44,55,66,77,88,99,90]
dic = {}
n = []
m = []
for i in li:
if i > 66:
n.append(i)
if i < 66:
m.append(i)
dic.update(k1 = m, k2 = n)
print(dic)
2.输出商品列表,用户输入序号,显示用户选中的商品。
商品 li = ["手机", "电脑", "鼠标垫", "游艇" ]
a. 允许用户添加商品
b. 用户输入序号显示内容
li = ["手机", "电脑", "鼠标垫", "游艇" ]
mer = input("请输入您想加入的商品:")
li.append(mer)
print("商品现有",li)
wan = int(input("请输入序号:"))
print(li[wan])
3. 用户交互显示类似省市县N级联动的选择
a. 允许用户增加内容
b. 允许用户选择查看某一个级别内容
4.列举布尔值是False的所有值
0 None "" () {} []
5. 有两个列表
l1 = [11, 22, 33]
l2 = [22, 33, 44]
a. 获取内容相同的元素列表
l1 = [11, 22, 33]
l2 = [22, 33, 44]
for i1 in l1:
for i2 in l2:
if i1 == i2:
print(i1)
b. 获取l1中有, l2中没有的元素列表
l1 = [11, 22, 33]
l2 = [22, 33, 44]
for i1 in l1:
if i1 not in l2:
print(i1)
c. 获取l2 中有,l1中没有的元素列表
l1 = [11, 22, 33]
l2 = [22, 33, 44]
for i2 in l2:
if i2 not in l1:
print(i2)
d. 获取l1 和 l2 中内容都不同的元素
l1 = [11, 22, 33]
l2 = [22, 33, 44]
for i2 in l2:
if i2 not in l1:
print(i2)
for i1 in l1:
if i1 not in l2:
print(i1)
6.转换
a. 将字符串 s = "alex"转换为列表
s = "alex"
li = list(s)
print(li)
b. 将字符串s = "alex"转换为元组
s = "alex"
li = tuple(s)
print(li)
c. 将列表li = ["alex", "seven"]转换为元组
li = ["alex", "seven"]
tu = tuple(li)
print(tu)
d. 将元组 tu = ("Alex", "seven")转换为列表
tu = ("Alex", "seven")
li = list(tu)
print(li)
7.利用 for 循环和range输出
a. for循环从大到小输出1-100
for i in range(100, 0, -1):
print(i, end = " ")
.....1 后面省略
b. for 循环从小到大输出100 -1
for i in range(1, 101):
print(i, end = " ")
.....100
c. while 循环从大到小输出1-100
i = 100
while i >= 1:
print(i, end = " ")
i -= 1
.....1
d.while 循环从小到大输出100-1
i = 1
while i <= 100:
print(i, end = " ")
i += 1
......100
8.购物车
功能要求:
要求用户输入总资产,例如:2000
显示商品列表,让用户根据序号选择商品,加入购物车购买,如果商品总额大于总资产,提示余额不足,否则,购买成功。
goods = [
{"name": "电脑", "price": 1999},
{"name": "鼠标", "price": 10},
{"name": "游艇", "price": 20},
{"name": "美女", "price": 998}
]
ass = int(input("请输入你的总资产:"))
dic = {}
num =1
for i in goods:
n = i["name"]
dic.update({num : n})
num +=1
print(dic)
zm = 0
while True:
wan = int(input("请输入你想要的商品序号(按数字0结束;"))
if wan == 0:
break
if wan > 4:
print("请重新输入")
continue
v = dic.get(wan)
print("你想要购买的是:", v)
li = [0,1999, 10, 20, 998]
print("它的价格为:%d"%li[wan])
p = int(li[wan])
zm = zm + p if zm > ass:
print("余额不足,请滚去充值")
else:
print("购买成功!")

9. 有1,2,3,4,5,6,7,8 8个数字,能组成多少个互不相同且重复数字的两位数
count = 0
for i in range(1,9):
n = str(i)
for j in range(1,9):
m = str(j)
if m != n:
count += 1
v = m + n
print(int(v))
print("一共%d个"%count)
10.99乘法表
for i in range(1, 10):
for j in range(1, i+1):
n = i* j
print(j,"x",i,"=",n,"\t", end = "") #内循环之间不换行
print(end = "\n") #内循环结束换行一次
11.有以下列表
nums = [2, 7, 11, 15, 1, 8]
请找到列表中任意相加等于9的元素集合,如:[(0, 1), (4, 5)]
nums = [2, 7, 11, 15, 1, 8]
l1 = []
l = len(nums)
for i in range(0, l-1):
for j in range(i+1,l):
if nums[i] + nums[j] == 9:
n = (nums[i], nums[j])
l1.append(n)
print(l1)
12.用Python开发程序自动计算方案
公鸡5文钱一只, 母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,其中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱?
gj = 5
mj = 3
xj = 1/3
for x in range(1,100//5):
for y in range(1,100//3):
for z in range(100):
if gj * x + mj * y + xj * z == 100 and x + y + z == 100:
print(x,y,z)
13.请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li = ['alex', 'eric', 'rain']
li = ['alex', 'eric', 'rain']
for i in li:
n = "_".join(i)
print(n)
14.查找列表元素,移除每个元素的空格,并查找以a 或A开头 并且以c 结尾的所有元素。
li = ["alex", " aric", "Alex", "Tony", "rain"]
for i in li:
v = i.strip()
if v.endswith('c') :
if v.startswith('a') or v.endswith('A'):
print(v)
tu = ('alexc', ' Aric', 'Tony', 'rain')
v = list(tu)
for i in v:
n = i.strip()
if n.endswith('c'):
if n.startswith('a') or n.startswith('A'):
print(n)
dic = {"k1": "alex", "k2": " aric", "k3": "Tony", "k4": "Arainc"}
for v in dic.values():
n = v.strip()
if n.endswith('c'):
if n.startswith('a') or n.startswith('A'):
print(n)
15. 写代码,有如下列表,按照要求实现每一个功能。
a.计算列表长度并输出
li = ['alex', 'eric', 'arin']
print(len(li))
b. 列表中追加元素"seven",并输出添加后的列表
li = ['alex', 'eric', 'arin']
li.append('seven')
print(li)
16. 类似13题,如果列表里有数字:
li = ['alex', 'eric', 123]
l2 = []
for i in li:
n = str(i)
l2.append(n)
v = "_".join(l2)
print(v)
17. 分页显示内容
a. 通过for循环创建301条数据,数据类型不限,如:
user1 email-1 pwd1
user2 email-2 pwd2
.........
b.提示用户 请输入要查看的页码,当用户输入指定页码时,显示指定数据
注意:
- 每页显示10条数据
- 用户输入页码是非十进制数字,则提示输入内容格式错误
li = []
for i in range(1,302):
dic = {"user": "user" + str(i), "email": "dabai@qq" + str(i), "pwd": "52" + str(i)}
li.append(dic)
while True:
s = input("请输入页码:")
if s.isdecimal():
s = int(s)
else:
print("请重新输入10进制数")
continue
# 输入1,查看0-10页 s-1 *10
#输入2,查看11-20页 s * 10
start = (s - 1) * 10
end = s * 10
n = li[start:end]
for item in n:
print(item)
python列表、元组、字典练习题的更多相关文章
- python3笔记十八:python列表元组字典集合文件操作
一:学习内容 列表元组字典集合文件操作 二:列表元组字典集合文件操作 代码: import pickle #数据持久性模块 #封装的方法def OptionData(data,path): # ...
- Python列表,元组,字典,序列,引用
1.列表 # Filename: using_list.py # This is my shopping list shoplist=["apple", "mango&q ...
- 【277】◀▶ Python 列表/元组/字典说明
目录: 前言 一.访问列表中的值 二.更新列表 三.删除列表元素 四.Python 列表脚本操作符 五.Python 列表函数 & 方法 参考:Python 列表(List)使用说明 列表截取 ...
- Python 列表,元组,字典
0)字符串切片 py_str = 'python' >>>py_str[0] #取第一个字符串,返回值为"p",超出范围会报错 >>>py_st ...
- Python 列表/元组/字典总结
序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列 ...
- Python列表,元组,字典,字符串方法笔记
01. 列表 1.1 列表的定义 List(列表) 是 Python 中使用 最频繁 的数据类型,在其他语言中通常叫做 数组 专门用于存储 一串 信息 列表用 [] 定义,数据 之间使用 , 分隔 列 ...
- python 列表 元组 字典 集合
列表 lst = [i for i in range(10)] 切片 # 把下标小于2的显示出来 print(lst[:2]) # 把10个数有大到小输出 print(lst[::-1]) # 把下标 ...
- Python 列表&元组&字典&集合
列表(list) 有序性,可存储任意类型的值 通过偏移存取,支持索引来读取元素,第一个索引为0 ,倒数第一个索引为-1 可变性 ,支持切片.合并.删除等操作 可通过索引来向指定位置插入元素 可通过po ...
- Python列表,元组,字典,集合详细操作
菜鸟学Python第五天 数据类型常用操作及内置方法 列表(list) ======================================基本使用====================== ...
- Python第三天 序列 数据类型 数值 字符串 列表 元组 字典
Python第三天 序列 数据类型 数值 字符串 列表 元组 字典 数据类型数值字符串列表元组字典 序列序列:字符串.列表.元组序列的两个主要特点是索引操作符和切片操作符- 索引操作符让我 ...
随机推荐
- 查看哪些redis命令拖慢了redis
Redis提供了一个下面这样的命令统计工具: 127.0.0.1:6379> INFO commandstats # Commandstatscmdstat_get:calls=11352126 ...
- Hadoop集群(第1期)CentOS安装配置
1.准备安装 1.1 系统简介 CentOS 是什么? CentOS是一个基于Red Hat 企业级 Linux 提供的可自由使用的源代码企业级的 Linux 发行版本.每个版本的 CentOS 都会 ...
- Adobe cs6 全系列软件绿色破解版-一键安装
下载地址: 链接:https://pan.baidu.com/s/1THssmSS-SnyNc2DW7Wr8cA 提取码:y3tq 软件介绍 作为全球领先的多媒体设计软件供应商,Adobe Syste ...
- 深入理解ES6 - var-let-const
知识点 var 声明变量: 1.存在变量提升,实际上var无论在哪里声明,都会被当做当前的作用域顶部声明变量. 2.可以重复声明,后声明的变量会覆盖前声明的变量. let 声明变量: 1.不存在变量提 ...
- YARN分析系列之三 -- 从脚本入口分析 ResourceManager的初始化过程
1. 由脚本找到 RM 主类 这部分,我们从脚本作为入口去逐步深入ResourceManager源码. 从 Hadoop 官方文档 中可以看到 ResourceManager 的启动命令为: Usag ...
- 高并发 Nginx+Lua OpenResty系列(8)——Lua模版渲染
模版渲染 动态web网页开发是Web开发中一个常见的场景,比如像京东商品详情页,其页面逻辑是非常复杂的,需要使用模板技术来实现.而Lua中也有许多模板引擎,如目前京东在使用的lua-resty-tem ...
- 手动实现一个 IOC/DI 容器
第一章为源码解析. 第二章为实现一个简单的 IOC 容器. 第三章进阶 Spring 插件开发. 手动实现一个 IOC/DI 容器 上一篇文章里我们已经对 Spring 的源码有了一个大概的认识,对于 ...
- 【转载】JDK自带的log工具
版权声明:本文为Jaiky_杰哥原创,转载请注明出处.This blog is written by Jaiky, reproduced please indicate. https://blog.c ...
- Python文件中将print的输出内容重定向到变量中
有时候需要用到别人的代码, 但是又不想修改别人的文件, 想拿到输出的结果, 这时候就需要使用sys模块, 将print输出的内容重定向到变量中. Python调用sys模块中的sys.stdout, ...
- Linux搭建基于Apache的HTTP服务器
Linux搭建基于Apache的HTTP服务器 实验目标: 通过本实验掌握基于Linux的WWW服务器搭建. 实验步骤: 1.安装http服务 2.防火墙放通http服务 3.编辑测试网页 4.开 ...