python理论知识选择题_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=22*2=4

3*1=33*2=6  3*3=9

4*1=44*2=8  4*3=124*4=16

5*1=55*2=105*3=155*4=205*5=25

6*1=66*2=126*3=186*4=246*5=306*6=36

7*1=77*2=147*3=217*4=287*5=357*6=427*7=49

8*1=88*2=168*3=248*4=328*5=408*6=488*7=568*8=64

9*1=99*2=189*3=279*4=369*5=459*6=549*7=639*8=729*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
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值