python课后作业
🤡🤡🤡🤡

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

from functools import reduce

input_str = input("请输入一个字符串")

print(reduce(lambda x, y: int(x) + int(y), input_str))

2.编写程序,输入一个字符串,输出翻转(首尾交替)后的字符串。例如,输入字符串12345,输出54321.

input_str = input("请输入一个字符串")
input_str = input_str[::-1]
print(input_str)

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

input_list = eval(input("请输入一个列表"))
print(max(input_list))

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

input_list = eval(input("请输入一个列表"))

print(list(map(str, input_list)))

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

def fun(new_str):
    if new_str is None:
        return False
    if new_str is False:
        return False
    if new_str == 0:
        return False
    return True


input_list = eval(input("请输入一个列表"))
OutList = list(filter(fun, input_list))
print(OutList)

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

from functools import reduce

input_list = eval(input("请输入一个列表"))
out_int = reduce((lambda x, y: x + y), input_list)
print("%.3f" % (out_int / len(input_list)))

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

input_list = eval(input("请输入一个列表"))

new_list = sorted(input_list, reverse=True)
print(new_list)

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

input_list = eval(input("请输入一个列表"))
out_list = list(map(lambda x: len(str(x)), input_list))
print(out_list)

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

from functools import reduce


def fun(x, y):
    if abs(x) > abs(y):
        return x
    else:
        return y


input_list = eval(input("请输入一个列表"))
out_list = reduce(fun, input_list)
print(out_list)

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

from functools import reduce

input_list = eval(input("请输入一个列表"))
output = reduce(lambda x, y: x * y, input_list)
print(output)

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

from functools import reduce

li1 = eval(input('请输入第一个列表'))
li2 = eval(input('请输入第二个列表'))
print(list(reduce(lambda x, y: x * y, (li1, li2))))