关于python的十一道练习
Posted 木霖
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于python的十一道练习相关的知识,希望对你有一定的参考价值。
关于python的十一道练习
1.编写程序,输入一个自然数字符串,然后输出各位数字之和。例如,输入字符串1234,输出10.
1 def sums1(): #第一题 2 strs=input(‘请输入一个自然数字符串:‘) 3 num=0 4 for i in range(0,len(strs)): 5 num=num+int(strs[i:i+1]) 6 print(‘该字符串各位数字之和为:‘,num)
2.编写程序,输入一个字符串,输出翻转(首尾交替)后的字符串。例如,输入字符串12345,输出54321.
1 def turn2(): #第二题 2 strs=input(‘请输入一个字符串:‘) 3 strn=list(strs) 4 m=strn.copy() 5 n=len(strs)-1 6 for i in strn: 7 m[n]=i 8 n=n-1 9 strs=‘‘.join(m) 10 print(‘该字符串的翻转为:‘,strs)
- 该题要注意的是 ‘‘.join() 为列表转字符串。
3.编写程序,输入一个包含若干整数的列表,输出列表中的最大值。例如,输入[1,2,3,4,5,888],输出888.
1 def max3(): #第三题 2 li = list(map(int,input(‘请输入一串整数,用空格隔开:‘).split())) 3 maxn=li[0] 4 for i in li : 5 if maxn<i:maxn=i 6 print(‘最大值为:‘,maxn)
- 该题要注意的是因为输入的是字符串,要将其转化为列表,.split()是将输入的字符串用空格分隔开转为列表,map()函数将字符串列表中的每个字符串数字转化为int整型数值 。
4.编写程序,输入一个包含若干整数的列表,把列表中所有整数转换为字符串,然后输出包含这些字符串的列表。例如,输入[1,2,3,4,5,888],输出[‘1‘,‘2‘,‘3‘,‘4‘,‘5‘,‘888‘]。
1 def lizstr4(): #第四题 2 li = list(map(int,input(‘请输入一串整数,用空格隔开:‘).split())) 3 print(‘转换为列表为:‘,[str(i) for i in li])
- 该题要注意的是 str(i) for i in li 为将列表 li 中的所有元素都转换成字符串。
5.编写程序,输入一个包含若干任意数据的列表,输出该列表中等价于True的元素组成的列表。例如,输入[1,2,0,None,False,‘a‘],输出[1,2,‘a‘]。
1 def true5(): #第五题 2 li = list(input(‘请输入一串字符串,用空格隔开:‘).split()) 3 a=[] 4 for i in li : 5 if i!=0 and i!=‘None‘ and i!=‘none‘ and i!=‘False‘ and i!=‘false‘: 6 a.append(i) 7 print(‘等价于True的元素为:‘,a)
6.编写程序,输入一个包含若干自然数的列表,输出这些自然数的平均值。
1 def average6(): #第六题 2 li = list(map(int,input(‘请输入一串自然数,用空格隔开:‘).split())) 3 sumn=0 4 for i in li: 5 sumn+=i 6 avg=sumn/len(li) 7 print(‘平均数为:%.3f‘%avg)
7.编写程序,输入一个包含若干自然数的列表,输出这些自然数降序排列的新列表。
1 def des7(): #第七题 2 li = list(map(int,input(‘请输入一串自然数,用空格隔开:‘).split())) 3 for i in range(0,len(li)): 4 for j in range(i,len(li)): 5 if li[i] < li[j]: 6 temp=li[i] 7 li[i]=li[j] 8 li[j]=temp 9 print(‘降序排列为:‘,li)
8.编写程序,输入一个包含若干自然数的列表,输出一个新列表,新列表中每个元素为原列表中每个自然数的位数。例如,输入[1,888,99,23456],输出为[1,3,2,5]。
1 def digit8(): #第八题 2 li = list(map(int,input(‘请输入一串自然数,用空格隔开:‘).split())) 3 m=[] 4 n=0 5 for i in li : 6 m.append(len(str(i))) 7 n+=1 8 print(‘新列表为:‘,m)
9.编写程序,输入一个包含若干实数的列表,输出其中绝对值最大的实数。例如,输入[-8,64,3.5,-89],输出-89。
1 def maxabs9(): #第九题 2 li = list(map(eval,input(‘请输入一串实数,用空格隔开:‘).split())) 3 maxn=li[0] 4 for i in li: 5 if abs(maxn)<abs(i): 6 maxn=i 7 print(‘绝对值最大为:‘,maxn)
- 该题要注意的是 abs() 为系统求数的绝对值函数。
10.编写程序,输入一个包含若干整数的列表,输出这些整数的乘积。例如,输入[-2,3,4],输出-24。
1 def product10(): #第十题 2 li = list(map(eval,input(‘请输入一串整数,用空格隔开:‘).split())) 3 product=1 4 for i in li: 5 product=product*i 6 print(‘乘积为:‘,product)
11.编写程序,输入两个包含着若干整数的等长列表,把这两个列表看作两个向量,输出这两个向量的内积。
1 def inner11(): #第十一题 2 li1 = list(map(eval,input(‘请输入第一串实数,用空格隔开:‘).split())) 3 li2 = list(map(eval,input(‘请输入第二串实数,用空格隔开:‘).split())) 4 m=[] 5 for i in range(0,len(li1)): 6 m.append(li1[i]*li2[i]) 7 print(‘内积为:‘,m)
以上是关于关于python的十一道练习的主要内容,如果未能解决你的问题,请参考以下文章
一道关于蓝桥杯java组的练习题,运行没有问题可是一提交到系统就显示错误,求各位大神赐教
一道Python练习题引发的,一个知识点的探讨:删除列表中特定元素的几种方法