from operator import mul
from functools import reduce
import numpy as np
# map的用法
# print(map(str, range(5)))
# print(list(map(str, range(5))))
# print(list(map(len, ['abc', '1234', 'test'])))
#
# for num in map(add, range(5), range(5, 10)):
# print(num)
# reduce()用法,引入标准库,functools
# 迭代
# seq = range(1, 10)
# print(reduce(add, seq)) # 累加seq中的数字#
# print(reduce(mul, seq)) # 累乘seq中的数字
# seq = [{1}, {2}, {3}, {4}] # 并集运算
# print(reduce(or_, seq))
# filter() 惰性求值的特点,其中每个元素只能使用一次
# seq = ['abcd', '1234', '?!', '']
# print(list(filter(str.isdigit, seq))) # 保留数字字符串
# print(list(filter(str.isalnum, seq))) # 保留数字和英文字符串
# print(list(filter(str.isalpha, seq))) # 保留英文字母字符串
# # input
# num = input('请输入一个正整数:')
# # 把字符串中每个字符转换为数字,然后对各位数字求和
# print(sum(map(int, num)))
# text = input('请输入一个字符串:')
# print(reduce(add, reversed(text))) # 翻转
# lst = eval(input('请输入一个包含若干整数的列表:'))
# # print(max(lst))
# # print(list(map(str, lst)))
# # print((list(filter(None, lst))))
# newlst = sorted(lst, key=lambda num: num % 2 == 0)
# print(newlst)
def average():
"""
输入一个包含若干自然数的列表,输出这些自然数的平均值,结果保留3位小数
:return:
"""
lst = eval(input('输入自然数列表,求平均值'))
data = sum(lst)
len1 = len(lst)
avg = data / len1
print('%.3f' % avg)
average()
def descending():
"""
输入一个包含若干自然数的列表,输出这些自然数降序排列后的新列表
:return:
"""
lst = eval(input('降序,请输入自然数列表'))
print(sorted(lst, reverse=True))
descending()
def digit():
"""
输入一个包含若干自然数的列表,输出一个新列表,新列表中的每个元素为原列表中每个自然数的位数
:return:
"""
s = eval(input('请输入自然数列表,取位数'))
m = []
for i in s:
m.append(len(str(i)))
print(m)
digit()
def max_abs():
"""
输入一个包含若干数字的列表,输出其中绝对值最大的数字
:return:
"""
s = eval(input("取绝对值最大值,请输入数字列表:"))
m = []
for i in s:
m.append(abs(i))
print(max(m))
max_abs()
def Mul():
"""
输入一个包含若干整数的列表,输出这些整数的乘积
:return:
"""
s = eval(input("取整数乘积,请输入整数列表:"))
m = reduce(mul, s)
print(m)
Mul()
def inner_product():
"""
输入两个包含若干整数的等长列表,把这两个列表看作两个向量,输出这两个向量的内积
:return:
"""
print("输入两个包含若干整数的等长列表,输出两内积")
s1 = eval(input("请输入整数列表:"))
s2 = eval(input("请输入与上等长的整数列表:"))
s = np.dot(s1, s2)
print(s)
inner_product()
Python练习
最新推荐文章于 2024-09-18 20:39:31 发布