一、题目:

1、输入一个包含若干自然数的列表,输出这些自然数的平均值,结果保留  3位小数

2、输入一个包含若干自然数的列表,输出这些自然数降序排列后的新列表

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

4、输入一个包含若干数字的列表,输出其中绝对值最大的数字。

例如,输入[-8,64,3.5,-89],输出-89

5、输入一个包含若干整数的列表,输出这些整数的乘积。

例如,输入[-2,3,4],输出-24

6、输入两个包含若干整数的等长列表,把这两个列表看作两个向量,输出 这两个向量的内积

 

二、代码展示:

# -*- coding: utf-8 -*-
'''
 @Author  : Jackma
 @Time    : 2020/10/10 22:15
 @File    : 2020_10_10.py
 @Software: PyCharm
 @URL     : www.jackrma.com
 @Copyright:博客所有权归本人和CSDN所有,如有转载请在显著位置给出博文
            链接和作者姓名,否则本人将付诸法律。
 @Version : 
'''
# 1、输入一个包含若干自然数的列表,输出这些自然数的平均值,结果保留3位小数
# 2、输入一个包含若干自然数的列表,输出这些自然数降序排列后的新列表
# 3、输入一个包含若干自然数的列表,输出一个新列表,新列表中的每个元素为原列表中每个自然数的位数。
#    例如,输入[1,888,99,23456],输出[1,3,2,5]
# 4、输入一个包含若干数字的列表,输出其中绝对值最大的数字。例如,输入[-8,64,3.5,-89],输出-89
# 5、输入一个包含若干整数的列表,输出这些整数的乘积。例如,输入[-2,3,4],输出-24
# 6、输入两个包含若干整数的等长列表,把这两个列表看作两个向量,输出这两个向量的内积

# 1
def average():
    '''
    输入一个包含若干自然数的列表,输出这些自然数的平均值,结果保留3位小数
    :return:
    '''
    s = eval(input("求平均,请输入自然数列表:"))  # 输入自然数的列表
    sum = 0
    for i in s:
        sum += i
    avg=sum/len(s)
    print('%.3f'%avg)

average()

# 2
def descending():
    '''
    输入一个包含若干自然数的列表,输出这些自然数降序排列后的新列表
    :return:
    '''
    s = eval(input("降序,请输入自然数列表:"))  # 输入自然数的列表
    for i in range(0,len(s)):
        for j in range(i,len(s)):
            if s[i] < s[j]:
                temp=s[i]
                s[i]=s[j]
                s[j]=temp
    print (s)

descending()

# 3
def digit():
    '''
    输入一个包含若干自然数的列表,输出一个新列表,新列表中的每个元素为原列表中每个自然数的位数
    :return:
    '''
    s = eval(input("取位数,请输入自然数列表:"))  # 输入自然数的列表
    m=[]
    n=0
    for i in s:
        m.append(len(str(i)))
        n+=1
    print(m)

digit()

# 4
def max_abs():
    '''
    输入一个包含若干数字的列表,输出其中绝对值最大的数字
    :return:
    '''
    s = eval(input("取绝对值最大值,请输入数字列表:"))  # 输入数字的列表
    max=s[0]
    for i in s:
        if abs(max)<abs(i):
            max=i
    print(max)

max_abs()

# 5
def product():
    '''
    输入一个包含若干整数的列表,输出这些整数的乘积
    :return:
    '''
    s = eval(input("取整数乘积,请输入整数列表:"))  # 输入整数列表
    p=s[0]
    for i in s:
        p=p*i
    p=int(p/s[0]) #前面for循环把列表第一位重复乘了一次,so除以列表第一位
    print(p)

product()

# 6
def inner_product():
    '''
    输入两个包含若干整数的等长列表,把这两个列表看作两个向量,输出这两个向量的内积
    :return:
    '''
    print("输入两个包含若干整数的等长列表,输出两内积")
    s1 = eval(input("请输入整数列表:"))
    s2 = eval(input("请输入与上等长的整数列表:"))
    m=[]
    for i in range(0,len(s1)):
        m.append(s1[i]*s2[i])
    print(m)

inner_product()