Python笔记—练习题(基础数据类型)

!1、有两个列表
l1 = [11,22,33]
l2 = [22,33,44]
a.获取内容相同的元素列表
for i in l1:
    if i in l2:
        print(i)
# 返回结果  22 33
b.获取l1中有,l2中没有的元素列表
for i in l1:
    if i not in l2:
        print(i)
# 返回结果  11
c.获取l2中有,l1中没有的元素列表
for i in l2:
    if i not in l1:
        print(i)
# 返回结果  44
d.获取l1和l2中内容都不同的元素
for i in l1:
    if i not in l2:
        print(i)
for i in l2:
    if i not in l1:
        print(i)
# 返回结果  11  44

!2、有1、2、3、4、5、6、7、8、8个数字,能组成多少个互不相同且无重复数字的两位数?
count = 0
for x in range(1,9):
    for y in range(1,9):
        if x != y:
            count = count + 1
print(count)
# 返回结果  56

!3、输出一份99乘法表
方法一:
for x in range(1,10):
    for y in range(1,x+1):  #剔除相同的结果输出
        print(str(x) + ' * ' + str(y) + ' = ' + str(x*y))
方法二:
string = ''
for x in range(1,10):
    for y in range(1,x+1): 
        string += str(x) + ' * ' + str(y) + ' = ' + str(x*y)+'\t'
    print(string)
    string = '' 
# 循环但每行都是清空前序重新再执行循环结果
# 返回结果
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

!4、列表组合[1,2,4,5,6],多少种不同样的,数字不重复的组合
li = [1,2,4,5,6]
count = 0
for x in li:
    for y in li:
        if x != y:
            count = count + 1
print('计数' + '=' + str(count))
# 返回结果    计数=20

!5、用python开发程序自动计算方案:
公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文钱,用100文钱买100只鸡,其中公鸡、母鸡、小鸡都必须要有
问:公鸡、母鸡、小鸡要买多少只刚好凑足100文钱?
for a in range(1,20):
    for b in range(1,33):
        for c in range(1,100):
            if a + b + c == 100:
                if a*5 + b*3 + c/3 == 100:
                    print(a,b,c)
# 返回结果
4 18 78
8 11 81
12 4 84

!6、查找列表中元素,移除每个元素的空格,并查找以a或A开头,并且以c结尾的所有元素
li = ['alec','aric','Alex','Tony','rain']
tu = ('alec',' aric','Alex','Tony','rain')
dic = {'k1':'alex','k2':'aric', 'k3':'Alex','k4':'Tony'}
for i in li:
    if i[0] == 'a' or i[0] == 'A':
        if i[3] == 'c':
            print(i)
# 返回结果
alec
aric
for i in tu:
    i = i.strip(' ')
    if i[0] =='a' or i[0] == 'A':
        if i[3] == 'c':
            print(i)
# 返回结果
alec
aric
!第三题欠着#######################################

!7、写代码,有如下元祖,按照要求实现每一个功能
tu = ('alex','eric','rain')
a、计算元祖长度并输出
b、获取元祖的第2个元素,并输出
c、获取元祖的第 1-2 个元素,并输出
d、请使用for输出元祖的元素
e、请使用for、len、range输出元祖的索引
f、请使用enumrate输出元祖元素和序号(序号从10开始)
print(len(tu))
print(tu[2])
print(tu[1:2])
for i in tu:
    print(i)
for l in range(len(tu)):
    print(l)
for l, i in enumerate(tu,10):
    print(l,i)
# 返回结果(e)
# 10 alex
# 11 eric
# 12 rain

!8、有如下变量,请实现要求的功能
tu = ('alex',[11,22,{'k1':'y1','k2':['age','name'],'k3':(11,22,33)},44])
a、讲述元祖的特性
#一级元素不能被修改
b、请问tu变量中的第一个元素‘alex’是否可被修改?
#不能
c、请问tu变量中的’k2‘对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素’Seven‘
#列表,可以被修改
l = tu[1][2]['k2']
l.extend(['Seven'])
print(l)
# 返回结果    ['age', 'name', 'Seven']
d、请问tu变量中的’k3‘对应的值是什么类型?是否可以被修改?如果可以,请在其中添加一个元素’Seven‘
#元祖,不可以被修改

!9、有以下列表:
nums = [2,7,11,15,1,8,7]
请找到列表中任意两个元素相加能够等于9的元素组合,如[(0,1),(4,5)]
a = []
for x in nums:
    for y in nums:
        if x + y == 9:
            a.append((x,y))
print(a)
# 返回结果    [(2, 7), (2, 7), (7, 2), (1, 8), (8, 1), (7, 2)]

!10、分页显示内容
a、通过for循环创建301条数据,数据类型不限,如:
    alex-1    [email protected]    pwd1
    alex-2    [email protected]    pwd2
    alex-3    [email protected]    pwd3
    .....
b、提示用户,请输入要查看的页码,当用户输入指定页码,则显示指定数据
注意:
-每页显示10条数据
-用户输入页码是非十进制数字,则提示输入内容格式错误
user_list = []
for i in range(1,302):
    temp = {'name':'alex'+str(i),'email':'alex'+str(i)+'@live.com','pwd':'pwd'+str(i)}
    user_list.append(temp)
print(user_list)
#每页显示10条数据
s = input('请输入页码:')
s = int(s)
# user_list[0,10]  1
# user_list[10,20] 2
# user_list[20,30] 3
start = (s-1)*10
end = s*10
result = user_list[start:end]
for item in result:
    print(item,type(item))

猜你喜欢

转载自www.cnblogs.com/joyceluyun/p/12502644.html