python基础学习——基础数据类型练习题(二)

一、根据要求查找元组中的指定元素

l1=[11,22,33]

l2=[22,33,44]

1)获取元组l1、l2中内容相同的元素

l1=[11,22,33]
l2=[22,33,44]
for i in l1:
    if i in l2:
        print(i)
结果
22
33

2)获取元组l1中包含,l2中不包含的元素

l1=[11,22,33]
l2=[22,33,44]
for i in l1:
    if i not in l2:
        print(i)

结果:11

3)获取元组l1和l2中不同的元素

l1=[11,22,33]
l2=[22,33,44]
for i in l1:
    if i not in l2:
        print(i)
for i in l2:
    if i not in l1:
        print(i)

结果:
11
44

二、有1-8,8个数字,请问可以组成多少个互不相同且不重复数字的两位数

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

结果:56

三、输出直角三角形的99乘法表

print中加sep="",表示默认是空格分隔。end="",表示打印一行之后,末尾加换行\n

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

四、自动计算公鸡5元一只,母鸡3元一只,小鸡3只一元,用100元买100只鸡,其中必须有公鸡母鸡和小鸡,问公鸡母鸡小鸡分别是几只

for x in range(1,100//5):
    for y  in range(1,100//3):
        for z in range(1,100):
            if x+y+z==100 and 5*x+3*y+z/3==100:
                print(x,y,z)

五、利用下划线将列表中的每一个元素拼接成字符串

1)列表中的元素全是字符串时
li=["Alex","娜娜",444]
li[2]=str(li[2])
v="_".join(li)
print(v)

结果:
Alex_娜娜_444

2)列表中的元素包含数字时
li=["Alex","娜娜",444]

s=""
for r in li:
    s=s+str(r)
print("_".join(s))

结果:
A_l_e_x_娜_娜_4_4_4

六、请使用for、range、len输出元组的索引

tu=["alex","妈妈",123]
for i in range(len(tu)) :
    print(i)

七、请使用enumrate输出元组元素和序号(序号从10开始)

enumerrate()将可遍历对象(列表元组字符串)的组合为一个索引序列,同时列出数据和数据下标。一般在for循环中使用
tu=["alex","妈妈",123]
for i,v in  enumerate(tu,100):
    print(i,v)
结果:
100 alex
101 妈妈
102 123

八、请找出列表中任意两个元素佳佳能够等于9的元素集合

nums=[2,7,11,15,1,8,7]
a1=[]
for i in nums:
    for j in nums:
        if i+j ==9:
            a1.append((i,j))
print(a1)

2)输出以上元素集合对应索引
nums=[2,7,11,15,1,8,7]
a=[]
for i in range(len(nums)):
for j in range(len(nums)):
if nums[i]+nums[j]==9:
a.append((i,j,))
print(a)

九、在k2字典中追加入一个元素“seven”

tu=["Alex",
    [11,
     22,
     {"k1":"v1",
      "k2":["age","name"],
      "k3":(11,22,33)
      },
    44
     ]
]

tu[1][2]["k2"].append("seven")
print(tu)

十、分页显示以下内容

1)通过for循环创建301条数据,数据类型不限,如:alex-1  alex-1@live.com pwd1
user_list=[]
for i in range(1,302):
    temp={"name":"alex"+str(i),"email":"alex@live.com"+str(i),"password":"pwd"+str(i)}
    user_list.append(temp)


2)提示用户 请输入要查看的页码,当用户输入指定页码则显示指定数据,每页显示10条数据,用户输入非十进制数字时,提示输入内容格式错误

while True:
    s = input("请输入要查看的页码:")
    if s.isdigit():
        s=int(s)
        start = (s - 1) * 10
        end = s * 10
        result = user_list[start:end]
        for item in result:
            print(item)
    else:
        print("您输入的页码错误,请重新输入")

 

转载于:https://www.cnblogs.com/xucuiqing/p/11524906.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值