python输入一个包含若干自然数的列表_关于python的十一道练习

关于python的十一道练习

1.编写程序,输入一个自然数字符串,然后输出各位数字之和。例如,输入字符串1234,输出10.

1 def sums1(): #第一题

2 strs=input('请输入一个自然数字符串:')3 num=04 for i inrange(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 instrn:7 m[n]=i8 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 inli :5 if 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 inli :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=04 for i inli:5 sumn+=i6 avg=sumn/len(li)7 print('平均数为:%.3f'%avg)

7.编写程序,输入一个包含若干自然数的列表,输出这些自然数降序排列的新列表。

1 def des7(): #第七题

2 li = list(map(int,input('请输入一串自然数,用空格隔开:').split()))3 for i inrange(0,len(li)):4 for j inrange(i,len(li)):5 if li[i]

8.编写程序,输入一个包含若干自然数的列表,输出一个新列表,新列表中每个元素为原列表中每个自然数的位数。例如,输入[1,888,99,23456],输出为[1,3,2,5]。

1 def digit8(): #第八题

2 li = list(map(int,input('请输入一串自然数,用空格隔开:').split()))3 m=[]4 n=05 for i inli :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 inli:5 if abs(maxn)

该题要注意的是 abs() 为系统求数的绝对值函数。

10.编写程序,输入一个包含若干整数的列表,输出这些整数的乘积。例如,输入[-2,3,4],输出-24。

1 def product10(): #第十题

2 li = list(map(eval,input('请输入一串整数,用空格隔开:').split()))3 product=1

4 for i inli:5 product=product*i6 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 inrange(0,len(li1)):6 m.append(li1[i]*li2[i])7 print('内积为:',m)

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值