练习题目

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

li = [1,2,3,4,5,6,7,8]
count =0
for i in li :
    for m in li:
        if i ==m:
            continue
        else:
            count+=1
print(count)

2.请写出9*9乘法口诀;

for i in range(1,10):
    for j in range(1,i+1):
      print(str(j)+"*"+str(i)+"="+str(i*j)+"\t",end="")
    print("\n",end="")
结果是:
1*1=1    
1*2=2    2*2=4    
1*3=3    2*3=6    3*3=9    
1*4=4    2*4=8    3*4=12    4*4=16    
1*5=5    2*5=10    3*5=15    4*5=20    5*5=25    
1*6=6    2*6=12    3*6=18    4*6=24    5*6=30    6*6=36    
1*7=7    2*7=14    3*7=21    4*7=28    5*7=35    6*7=42    7*7=49    
1*8=8    2*8=16    3*8=24    4*8=32    5*8=40    6*8=48    7*8=56    8*8=64    
1*9=9    2*9=18    3*9=27    4*9=36    5*9=45    6*9=54    7*9=63    8*9=72    9*9=81    

3.公鸡5文钱一只,母鸡3文钱一只,小鸡3只一文1钱,用100文钱买一百只鸡,其中公鸡母鸡小鸡都要买,请问公鸡母级小鸡买多少只可以凑够100文钱:

for i in range(1,20):
    for m in range(1,33):
        for n in range(1,100):
            if i +m +n ==100 and i*5 +m*3 +n/3 ==100:
                print(i,m,n)
结果是:
4 18 78
8 11 81
12 4 84

 4.请用代码实现利用下划线将列表中的每一个元素拼接成一个字符串:

只有字符串:
li = ['jfklj', 'lkfj','jfkljf']
v ='_'.join(li)
print(v)‘
既有字符串又有数字的情况:
li4 =['jfklj','jfkj',3345,'jfklj','fkj']
st =''
lie =''
for i in li4:
    
    st+=lie+str(i)
    lie ='_'
print(st)
结果:
jfklj_lkfj_jfkljf
jfklj_jfkj_3345_jfklj_fkj

 5.写一下代码:如下元组代码,按照要求实现每一个功能:

tu=(‘alex’,‘Eric,’rain)

     1.计算元组的长度并输出

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

     3.获取元组的第一个元素并输出

    4,请使用for循环输出所有的元素

    5.请使用 for len range 输出元素的索引

   6   .请使用enumrate输出元组元素和序号:

tu = ('alex','eric','rain')
print(len(tu))
print(tu[1])
print(tu[1:3])
for i in tu:
    print(tu)
for m in range(len(tu)):
    print(m)
结果是;
3
eric
('eric', 'rain')
('alex', 'eric', 'rain')
('alex', 'eric', 'rain')
('alex', 'eric', 'rain')
0
1
2
tu = ('alex','eric','rain')
for i,index in enumerate(tu):
print(i,index)
结果是:

0 alex
1 eric
2 rain

 

8.有如下变量,请实现要求的功能;

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

       1,讲述元组的特性,

      2,请问tu变量中的第一个元素‘alex’是否可以被修改“

     3.请问tu变量中的k2对应的值是什么类型,是否可以被修改,如果可以被修改请在其中添加一个元素‘seven‘

     4。请问tu变量中的k3对应的值是什么类型是否可以被修改,如果可以被修改请在其中添加一个元素‘seven‘

   答:    1.元组的特性是:元组不可以进行修改、替换、他是列表的二次加工,
2.不可以被修改
3.列表,可以被修改 方法如下:
4.元组类型,不可以被修改
tu =('alex',[11,22,{'k1':'v1','k2':['age','name',],'k3':(11,22,33)},44])
tu [1][2]['k2'].append('seven')
print(tu)
结果是:
('alex', [11, 22, {'k1': 'v1', 'k2': ['age', 'name', 'seven'], 'k3': (11, 22, 33)}, 44])

 9有以下列表

       nums=【2,7,11,15,1,8,7】

      请找到列表中任意两个元素相加等于9的元素集合,

li = []
nums  = [2,7,11,15,1,8,7]
for i in nums:
    for n in nums:
        if i +n == 9:
            li.append((i,n))
print(li)
结果是
[(2, 7), (2, 7), (7, 2), (1, 8), (8, 1), (7, 2)]

10有一个列表:li = 【'alex','erlc','rain'】

      a计算列表长度并输出

       b:列表中追加元素’seven‘并输出添加后的列表

      c:请在列表的第一个位值加入一个元素’tony‘并输出添加后的列表

      d:请删除列表中的元素’eric‘并输出修改后的列表

       e:请删除列表中的第二个元素,并输出删除后的元素的值和索引

li = ['alex','eric','rain']
print(len(li))
li.append('seven')
print(li)
li.insert(0,'tony')
print(li)
li.remove('eric')
print(li)
li.pop(1)
print(li)
结果是:
3
['alex', 'eric', 'rain', 'seven']
['tony', 'alex', 'eric', 'rain', 'seven']
['tony', 'alex', 'rain', 'seven']
['tony', 'rain', 'seven']

16.分页显示:

a通过for循环创建301条数据,数据类型不限,如

alex-1     alex1@live.com   pwd1

alex-2      alex2@live.com  pwd2

alex-3      alex3@live.com   pwd3

 

b.提示用户请输入要查看的页码,当用户输入指定的页码,则显示指定数据,注意;

      1.每页显示10条数据

        2.用户输入页码是非十进制数字时,则提示输入内容格式错误

li = []
for i in range(1,302):
    li.append("alex"+"_"+str(i)+"\t""alex"+str(i)+"@live.com"+"\t""pwd"+str(i))

n = input('请输入页码并且每页显示10条;')
m =1
while m:
    if n.isdecimal():
        m=0
    else:
        n=input("请重新输入数字")
print('你想查找的数据是:')
new_n=int (n)
print(li[(new_n-1)*10:new_n*10])
结果是:
请输入页码并且每页显示10条;d
请重新输入数字jklj
请重新输入数字5
你想查找的数据是:
['alex_41\talex41@live.com\tpwd41', 'alex_42\talex42@live.com\tpwd42', 'alex_43\talex43@live.com\tpwd43', 'alex_44\talex44@live.com\tpwd44', 'alex_45\talex45@live.com\tpwd45', 'alex_46\talex46@live.com\tpwd46', 'alex_47\talex47@live.com\tpwd47', 'alex_48\talex48@live.com\tpwd48', 'alex_49\talex49@live.com\tpwd49', 'alex_50\talex50@live.com\tpwd50']

 

li = []
for i in range(1,302):
    li.append('alex%s/t alex%s@live.com/t pwd%s'%(i,i,i))

n = input('请输入页码并且每页显示10条;')
m =1
while m:
    if n.isdecimal():
        m=0
    else:
        n=input("请重新输入数字")
print('你想查找的数据是:')
new_n=int (n)
le=(li[(new_n-1)*10:new_n*10])
for i in le:
    print(i)
结果是:
alex141/t alex141@live.com/t pwd141
alex142/t alex142@live.com/t pwd142
alex143/t alex143@live.com/t pwd143
alex144/t alex144@live.com/t pwd144
alex145/t alex145@live.com/t pwd145
alex146/t alex146@live.com/t pwd146
alex147/t alex147@live.com/t pwd147
alex148/t alex148@live.com/t pwd148
alex149/t alex149@live.com/t pwd149
alex150/t alex150@live.com/t pwd150

 

 

 

 

 

 

posted @ 2019-10-30 21:41  chown  阅读(460)  评论(0编辑  收藏  举报