关于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练习题引发的,一个知识点的探讨:删除列表中特定元素的几种方法

一道简单的Python数组编程题,可能并不简单

找数组元素最大值的十四种方法for练习知识点和总结

2019-11-6Python3关于continue练习的错误

程序员面试中的十个常见错误