专栏首页python3python基础知识练习题(二)

python基础知识练习题(二)

1、 有两个列表

  l1 = [11, 22, 33]

  l2 = [22, 33, 44]

   a.获取内容相同的元素列表

li = []
l1 = [11, 22, 33]
l2 = [22, 33, 44]
for v1 in l1:
    for v2 in l2:
        if v1 == v2:
            li.append(v1)
print(li)
b.获取l1中有,l2中没有的元素列表
li = []
l1 = [11, 22, 33]
l2 = [22, 33, 44]
for v1 in l1:    
  if v1 not in l2:
     li.append(v1)
print(li)
c.获取l2中有,l1中没有的元素列表
li = []
l1 = [11, 22, 33]
l2 = [22, 33, 44]
for v2 in l2:
    if v2 not in l1:  
      li.append(v2)
print(li)
d.获取l1和l2中内容都不同的元素
l1 = [11, 22, 33]
l2 = [22, 33, 44]
for v1 in l1:
    if v1 not in l2:
        print(v1)
for v2 in l2:
    if v2 not in l1:
        print(v2)

2、利用下划线将列表的每一个元素拼接成字符串,li = ['alex','eric','Witharush']

li = ['alex', 'eric', 'Witharush']
print('_'.join(li))

3、有以下列表:

nums = [2,7,11,15,1,8,7]
请找到列表中任意两个元素相加能够等于9的元素组合,如,[(0,1),(4,5)]
nums = [2, 7, 11, 15, 1, 8, 7]
li = []
for i in nums:
    for v in nums:
        if i + v == 9:
            li.append((nums.index(i), nums.index(v)))
print(li)

4、写代码,有如下列表,按照要求实现每一个功能

li = ["Witharush", "eric", "rain"]
a.计算列表长度并输出
print(len(li))
# 结果3  列表长度是指一级元素个数
b.列表中追加元素"seven",并输出添加后的列表
li = ["Witharush", "eric", "rain"]
li.append('seven')
print(li)
c.请在列表的第一个位置插入元素"Tony",并输出添加后的列表
li = ["Witharush", "eric", "rain"]
li.insert('Tony')
print(li)
d.请修改列表的第2个位置插入元素"Kelly",并输出添加后的列表
li = ["Witharush", "eric", "rain"]
li.insert(1,'Kelly')
print(li)
e.请删除列表中的元素"eric",并输出修改后的列表
li = ["Witharush", "eric", "rain"]
li.remove('eric')
print(li)
f.请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表
li = ["Witharush", "eric", "rain"]
print(li.pop(1))
print(li)
g.请删除列表中的第3个元素,并输出删除元素后的列表
li = ["Witharush", "eric", "rain"]
li.pop(2)
print(li)
h.请删除列表中的第2至4个元素,并输出删除元素后的列表
li = ["Witharush", "eric", "rain"]
del li[1:3]
print(li)
i.请将列表所有的元素反转,并输出反转后的列表
li = ["Witharush", "eric", "rain"]
li.reverse()
print(li)
j.请使用for,len,range输出列表的索引
li = ["Witharush", "eric", "rain"]
for i in range(len(li)):
    print(i, li[i])
k.请使用enumrate输出列表元素和序号(序号从100开始)
li = ["Witharush", "eric", "rain"]
for i, v in enumerate(li, 100):
  print(i, v)
l.请使用for循环输出列表的所有元素
li = ["Witharush", "eric", "rain"]
for i in li:
    print(i)

5、写代码,有如下元祖,按照要求实现每一个功能

 tu = ('alex', 'eric', 'Witharush')
a.计算元祖长度并输出
tu = ('alex', 'eric', 'Witharush')
print(len(tu))
b.获取元祖的第二个元素,并输出
tu = ('alex', 'eric', 'Witharush')
print(tu[1])
c.获取元祖的第 1-2 个元素,并输出
tu = ('alex', 'eric', 'Witharush')
print(tu[0:1])
d.请使用for输出元祖的元素
tu = ('alex', 'eric', 'Witharush')
for i in tu:
    print(i)
e.请使用for,len,range输出元素的索引
tu = ('alex', 'eric', 'Witharush')
for i in range(0, len(tu)):
    print(i, tu[i])
f.请使用enumrate输出元祖元素和序号(序号从10开始)
tu = ('alex', 'eric', 'Witharush')
for i, v in tu.enumerate(tu, 10):
    print(i, v)

6、有如下变量,请实现要求的功能

tu = ("Witharush",[11,22,{"k1":'v1',"k2":["age","name"],"k3":(11,22,33)},44])
a.讲述元祖的特性
一级元素不可被修改、被增加或者删除
b.请问tu变量中的第一个元素"Witharush"是否可以被修改?
不能
c.请问tu变量中的"k2"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素"Seven"
列表,可以被修改
tu = ("Witharush", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3":(11, 22, 33)}, 44])
tu[1][2]["k2"].append("Seven")
print(tu)
d.请问tu变量中的"k3"对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素"Seven"
元组,作为k3的vaule可以被整体替换为(11, 22, 33, "Seven"),不能直接在元组(11, 22, 33)中增加元素"Seven"
tu = ("Witharush", [11, 22, {"k1": 'v1', "k2": ["age", "name"], "k3":(11, 22, 33)}, 44])
tu[1][2]["k3"] = (11, 22, 33, "Seven")
print(tu)

7、用1,2,3,4,5,6,7,8 能组成多少个互不相同且无重复的两位数?

n = 0
for i in range(1, 9):
    for v in range(1, 9):
        if i != v:
            n += 1
print(n)

8、九九乘法表

for i in range(1, 10):
    for v in range(1, i+1):
        print(str(i) + '*' + str(v) + '=' + str(i*v), end="\t") 
    print("\n", end="")
'''
结果:

1*1=1 2*1=2 2*2=4 3*1=3 3*2=6  3*3=9 4*1=4 4*2=8  4*3=12 4*4=16 5*1=5 5*2=10 5*3=15 5*4=20 5*5=25 6*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=36 7*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49 8*1=8 8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64 9*1=9 9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81

自己总结:先确定外循环的一个i值,遍历内循环v值;然后再循环下一个i值,再遍历内循环v值;直到遍历i值。

'''

9、print用法中的“sep” 、"end"

两个都是print的参数,step默认值是空格,end默认是换行符\n

10、分页实现内容

a.通过for循环创建301条数据,数据类型不限,如:
Witharush-1     Witharush1@live.com      pwd1
Witharush-2     Witharush2@live.com      pwd2
Witharush-3     Witharush3@live.com      pwd3
...
user_list = []
for i in range(1, 302):
    temp = {'姓名': 'Gru' + str(i), '邮箱': 'Gru' + str(i) + '@163.com ', '电话': '12312312312' + str(i)}
    user_list.append(temp)
print(user_list)
b.提示用户 请输入要查看的页码,当用户输出指定页码,也显示指定数据
    注意:
        每页显示10条数据
        用户输出页码是非十进制数字,也提示输入内容格式错误
user_list = []
for i in range(1, 302):
    temp = {'姓名': 'Gru' + str(i), '邮箱': 'Gru' + str(i) + '@163.com ', '电话': '12312312312' + str(i)}
    user_list.append(temp)
print(user_list)
while True:
    s = input('请输入页码:')
    s = int(s)
    if s not in range(1, 302//10):
        print('输入格式错误!')
        continue
    n = user_list[(s-1)*10: s*10]
    for m in n:
        print(m)

11、用python开发程序自动计算方案

公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,其
中公鸡,母鸡,小鸡都必须要有,问公鸡,母鸡,小鸡要买多少只刚好凑足100文钱?
for g in range(1, 100//5):
    for m in range(1, 100//3):
        for x in range(1, 100):
            if g*5 + m*3 + x*1/3 == 100 and g + m + x == 100:
                print(g, m, x)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • day 4 - 2 数据类型练习

    li = ['alex','wusir','eric','rain','alex']

    py3study
  • python基本数据类型(二)-python

    py3study
  • pyhon 列表的增删改查

    py3study
  • html可伸缩侧边栏

    写右侧侧边栏的时候,使用margin-right,会发先页面右侧溢出 这是只要再body里加入 overflow-x:hidden;即可

    治电小白菜
  • 谈谈一些有趣的CSS题目(七)-- 消失的边界线问题

    Sb_Coco
  • day 4 - 2 数据类型练习

    li = ['alex','wusir','eric','rain','alex']

    py3study
  • 第1天:CSS基本样式

    记住:浏览器有默认margin和padding。样式最开始记得一定写:*{margin:0;padding:0}。

    半指温柔乐
  • 负margin在页面布局中的应用

    在页面中经常会遇到两列的情况,比如说左侧栏固定宽度,右侧栏自适应宽度,此时可以用flex布局的方式,但是这种方式在ie8上不兼容,但是也可以用table。这里我...

    无邪Z
  • 常用的排序算法

    原理:例如你把一组数据从头开始依次遍历过去把最大的或者最小的放在末尾,除了最后一个每个依次进行遍历

    小小咸鱼YwY
  • jquery入门

    周小董

扫码关注云+社区

领取腾讯云代金券