热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python列表、元组、字典练习题

1.元素分类有如下值集合[11,22,33,44,55,66,77,88,99,90],将所有大于66的值保存至字典的第一个key中,将小于66值保存至第二个key的值中。li[

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爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • CSS3选择器的使用方法详解,提高Web开发效率和精准度
    本文详细介绍了CSS3新增的选择器方法,包括属性选择器的使用。通过CSS3选择器,可以提高Web开发的效率和精准度,使得查找元素更加方便和快捷。同时,本文还对属性选择器的各种用法进行了详细解释,并给出了相应的代码示例。通过学习本文,读者可以更好地掌握CSS3选择器的使用方法,提升自己的Web开发能力。 ... [详细]
  • Python正则表达式学习记录及常用方法
    本文记录了学习Python正则表达式的过程,介绍了re模块的常用方法re.search,并解释了rawstring的作用。正则表达式是一种方便检查字符串匹配模式的工具,通过本文的学习可以掌握Python中使用正则表达式的基本方法。 ... [详细]
  • 个人学习使用:谨慎参考1Client类importcom.thoughtworks.gauge.Step;importcom.thoughtworks.gauge.T ... [详细]
  • 本文讨论了如何使用IF函数从基于有限输入列表的有限输出列表中获取输出,并提出了是否有更快/更有效的执行代码的方法。作者希望了解是否有办法缩短代码,并从自我开发的角度来看是否有更好的方法。提供的代码可以按原样工作,但作者想知道是否有更好的方法来执行这样的任务。 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 如何自行分析定位SAP BSP错误
    The“BSPtag”Imentionedintheblogtitlemeansforexamplethetagchtmlb:configCelleratorbelowwhichi ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • eclipse学习(第三章:ssh中的Hibernate)——11.Hibernate的缓存(2级缓存,get和load)
    本文介绍了eclipse学习中的第三章内容,主要讲解了ssh中的Hibernate的缓存,包括2级缓存和get方法、load方法的区别。文章还涉及了项目实践和相关知识点的讲解。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了游标的使用方法,并以一个水果供应商数据库为例进行了说明。首先创建了一个名为fruits的表,包含了水果的id、供应商id、名称和价格等字段。然后使用游标查询了水果的名称和价格,并将结果输出。最后对游标进行了关闭操作。通过本文可以了解到游标在数据库操作中的应用。 ... [详细]
  • Python瓦片图下载、合并、绘图、标记的代码示例
    本文提供了Python瓦片图下载、合并、绘图、标记的代码示例,包括下载代码、多线程下载、图像处理等功能。通过参考geoserver,使用PIL、cv2、numpy、gdal、osr等库实现了瓦片图的下载、合并、绘图和标记功能。代码示例详细介绍了各个功能的实现方法,供读者参考使用。 ... [详细]
  • 本文介绍了一个题目的解法,通过二分答案来解决问题,但困难在于如何进行检查。文章提供了一种逃逸方式,通过移动最慢的宿管来锁门时跑到更居中的位置,从而使所有合格的寝室都居中。文章还提到可以分开判断两边的情况,并使用前缀和的方式来求出在任意时刻能够到达宿管即将锁门的寝室的人数。最后,文章提到可以改成O(n)的直接枚举来解决问题。 ... [详细]
author-avatar
等着日落看日出222
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有