python全栈开发笔记---数据类型--综合练习题

一.有两个列表

l1 = [11,22,33]       l2 = [22,33,44]

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

for item in l1:
       if item in l2:
              print(item)
View Code


b.获取l1中 有,l2中没有的元素列表

for item in l1:
       if item not in l2:
              print(item)
View Code

c.获取l2 中有,l1中没有的元素列表

for item in l2:
       if item not in l1:
              print(item)
View Code

d.获取l1 和 l2 中内容不同的元素

for item in l1:
       if item not in l2:
              print(item)
for item in l2:
       if item not in l1:
              print(item)
View Code

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

#思路,先算出一共能有多少种组合,之后减去重复的。就是最后要的结果。

count = 0
for i in range(1, 9):
       for v in range(1,9):
              if i != v:     #如果比较大的数计算就不好算了。所以这种更好
                count +=1
             # print(count)   #这样算出的是  包括重复的一共有多少可能2位数
#count = count -8
print(count)

如果不是存数字来计算呢
ls = [1,2,3,4,5,6,7,8]
count = 0
for i in range(0, len(ls)):
       for v in range(0, len(ls)):
              if i != v:
                count +=1


print(count)
View Code

三、里面的数字两两组合 多少种不同样的,数字不能重复。比如有12,就不要有21

li = [1,2,3,4]
for i in range(0,len(li)-1):
       for v in range(i+1,len(li)):
              print(li[i],li[v])
View Code

四、99乘法表

for i in range(1,10):
       for v in range(1,i+1):
              print(str(v)+ 'X' +str(i)+ '=' + str(i*v),end='  ')
       print('')
View Code

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

公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买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)
View Code

六、请用代码实现:利用下划线将列表的每一个元素拼接成字符串,li=['alex','eric','rain']

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

li=['alex','eric',123,23,54,7,4,1,3,5,7]    #如果包含数字的情况下。需要循环遍历下。通过索引方式把每一个都改成字符串,之后连接
for i in range(1,len(li)) :
       li[i] = str(li[i])

print(li)
View Code

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

tu = ('alex','eric','rain')

a.计算元组长度并输出

v = len(tu)
print(v)
View Code

b.获取元组的第二个元素,并输出

v = tu[len(tu)-2]
print(v)
View Code

c.获取元组的第1~2个元素,并输出

v = tu[1:2]
print(v)
View Code

d.请使用for输出元组的元素

tu = ('alex','eric','rain')
for i in range(0,len(tu)):
       print(tu[i])

for i in tu:
       print(i)
View Code

e.请使用for,len,range 输出元组的索引

tu = ('alex','eric','rain')
for i in range(0,len(tu)):
       print(i)
View Code

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

tu = ('alex','eric','rain')
for k,v in enumerate(tu,10):
       print(k,v)
View Code

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

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

a.讲述元组的特性

#元组 可以索引,切片,可以循环  ,一级元组不可以修改,添加,删除
View Code

b.请问tu变量中的第一个元素"alex"是否可以被修改

不可以
View Code

c.请问tu 变量中的"k2"对应的值是什么类型?是否可以修改?

如果可以,请在其中添加一个元素“Seven”

列表,可以,
tu = ("alex",
      [11,
       22,
       {"k1":'v1',
        "k2":["age","name"],
        "k3":(11,22,33)},
       44]
      )

tu[1][2]["k2"].append("Sever")
print(tu)
View Code

d.请问点tu 变量中的"k3"对应的值是什么类型?是否可以修改?

如果可以,请在其中添加一个元素“Seven”

#元组,不能修改
View Code

九、有一个列表 nums =[2,7,11,15,1,8,7],

请找到列表中任意两个元素相加能够等于9的元素集合,如[(0,1),(4,5)]

a =[]   #定义一个空列表来接收值
for i in nums:
    for j in nums :
        if i+j ==9 :
            a.append((i,j))
print(a)
View Code

 

十、有一个列表nums =[2,7,11,15,1,8,7],请找到列表中任意两个元素相加能够等于9的元素集合的索引,如[(0,1),(4,5)]

a = []
for i in range(len(nums)):             #通过for循环索引检索 ,此时i 为索引
    for j in range(len(nums)):
        if nums[i] + nums[j] == 9:     #通过索引来找到对应的值,最后2个值相加等于9
            a.append((i,j))             #最后把定义的索引追加到 a列表里  输出
print(a)
View Code

十一、写代码,有如下列表,安要求实现每一个功能

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


a.计算列表长度并输出

# v =len(li)
# print(v)
View Code


b.列表中追加元素“seven”,并输出添加后的列表

# li.append("seven")
# print(li)
View Code


c.请在列表的第1个位置插入元素‘Tony’,并输出添加后的列表

# li.insert(0,"Tony")
# print(li)

View Code


d.请修改列表第2个位置的元素为'Kelly',并输出修改后的列表

# li[1] = "Kelly"
# print(li)

View Code


e.请删除列表中的元素"eric",并输出修改后的列表

# li.remove('eric')
# print(li)
View Code


f.请删除列表中的第2个元素,并输出删除的元素的值和删除元素后的列表

# v =li.pop(1)
# print(v)
# print(li)
View Code


g.请删除列表中的第3个元素,并输出删除元素后的列表

# li.pop()
# print(li)
View Code


h.请删除列表中的第2至4个元素,并输出删除元素后的列表,del切片

# li = ["alex", "wusir", "eric", "rain", "alex"]
# del li[2:4]
# print(li)   #输出结果 ['alex', 'wusir', 'alex']
View Code


i.请将列表所有的元素反转,并输出反转后的列表

# li.reverse()
# print(li)
View Code


j.请使用for、len、range输出列表的索引

# for i in range(len(li)):
#     print(i)
View Code


k.请使用enumerate输出列表元素和序号(序号从100开始)

# li =['alex','eric','rain']
# v =list(enumerate(li,start=100))
# print(v)
View Code


l.请使用for循环输出列表的所有元素

# for i in li:
#     print(i)
View Code

十二、根据提供的列表分页,默认每一页10条数据

s = []
for item in range(1,302):
     i = {'name':'alex'+str(item),"email":'[email protected]'+str(item),"pwd":'pwd'+str(item)}
     s.append(i)
p = input("请输入页码")
v = int(p)
#list   [0,10]   1
#      [10,20]   2
#      [20,30]   3
#      [30,40]   4
stat = (v-1) * 10
end = v * 10
result = s[stat:end]
for l in result:
    print(l)
View Code

 

猜你喜欢

转载自www.cnblogs.com/kangming-/p/9861014.html