Python简单练习:11题

Python简单练习:11题

1.计算一个字符串中所有数字的和

def numsum(s):
    sum=0 #定义变量,准备记录数字的和
    for i in range(len(s)): #遍历字符串
        if s[i]>='0' and s[i]<='9': #如果i处的字符属于字符
            sum= sum + int(s[i]) #将字符转换成int ,求和
    return sum

s=input("请输入一个字符串:")
print(numsum(s))

2.字符串逆序输出

a = input('请输入一个字符串')
print('逆序输出为:')
print(a[::-1])
def nx(s):
    sum='' #定义空字符串
    for i in reversed(range(len(s))): #i逆序遍历
        sum=sum+s[i] #使单独的字符串
    return sum
s=input('请输入一个字符串:')
print(nx(s))

3.编写程序,输入一个包含若干整数的列表,输出列表中的最大值。例如,输入[1,2,3,4,5,888],输出888.

def max(list):
    a= list[0]
    for i in range(0,len(list)):
        if list[i]>list[0]:
            a=list[i]
    return a
a=input('请输入列表数字').split('')
print('最大数是:'+max(a))
#对于给定的数字输入:
#1 2 3 4
#将其转化为列表的方式为:
#li =list(map(int,input().split()))

4.编写程序,输入一个包含若干整数的列表,把列表中所有整数转换为字符串,然后输出包含这些字符串的列表。例如,输入[1,2,3,4,5,888],输出[‘1’,‘2’,‘3’,‘4’,‘5’,‘888’]。

def question4():
    li=list(map(int,input('请输入一串整数,用空格隔开:').split('')))
    print('转化为列表为:',[str(i) for i in li])
question4()

5.编写程序,输入一个包含若干任意数据的列表,输出该列表中等价于True的元素组成的列表。例如,输入[1,2,0,None,False,‘a’],输出[1,2,‘a’]。

def question5():
    li = list(input('请输入一串字符串,用空格隔开:').split(''))
    a=[]
    for i in li :
        if i!=0 and i!='None' and i!='none' and i!='False' and i!='false':
            a.append(i)
    print('等价于True的元素为:',a)
question5()

6.编写程序,输入一个包含若干自然数的列表,输出这些自然数的平均值。

def question6():  
    li = list(map(int,input('请输入一串自然数,用空格隔开:').split()))
    sumn=0
    for i in li:
        sumn+=i
    avg=sumn/len(li)
    print('平均数为:%.3f'%avg)
question6()

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

def question7():  
    li = list(map(int,input('请输入一串自然数,用空格隔开:').split()))
    for i in range(0,len(li)):
        for j in range(i,len(li)):
            if li[i] < li[j]:
                temp=li[i]
                li[i]=li[j]
                li[j]=temp
    print('降序排列为:',li)
question7()

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

def question8():  
    li = list(map(int,input('请输入一串自然数,用空格隔开:').split()))
    m=[]
    n=0
    for i in li :
        m.append(len(str(i)))
        n+=1
    print('新列表为:',m)
question8()

9.编写程序,输入一个包含若干实数的列表,输出其中绝对值最大的实数。例如,输入[-8,64,3.5,-89],输出-89。

def question9():
    li = list(map(eval,input('请输入一串实数,用空格隔开:').split()))
    maxn=li[0]
    for i in li:
        if abs(maxn)<abs(i):
            maxn=i
    print('绝对值最大为:',maxn)
question9()

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

def question10():
    li =list(map(eval,input('请输入一串整数,用空格隔开:').split()))
    product=1;
    for i in li:
        product=product*i
    print('乘积为:'.product)

question10()

11.编写程序,输入两个包含着若干整数的等长列表,把这两个列表看作两个向量,输出这两个向量的内积。

def question11():
    li1 =list(map(eval,input('请输入第一个串实数,用空格隔开').split()))
    li2 =list(map(eval,input('请输入第二串实数,用空格隔开:').split()))
    m=[]
    for i in range(0,len[li1]):
        m.append(li1[i]*li2[i])
    print('内积为:',m)
question11()
©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页