Python练习

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()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值