用python实现(1.求输入的百倍,十位,个位数;2.输入a,b和ab间夹角,计算c边长;3.计算两点间曼哈顿距离;4.计算给定数据的几何平均数;5.计算向量的L1和L2范数)

import math
from random import choices
from functools import reduce
print("1.获取输入整数的百位,十位,个位数(无位数限制)")
print(*map(int, input("Please input number:")))
print("2.输入a,b和ab之间的夹角,求c边长")
a, b, degree = map(float, input("Please input a,b,degree:").split(","))
print("c=", math.sqrt(a ** 2 + b ** 2 - 2 * a * b * math.cos(degree * math.pi / 180)))
print("3.计算两点之间的曼哈顿距离")
def distance(a, b):
    return sum(map(lambda i, j:abs(i - j), a, b))
print("x=(1,6),y=(4,7),曼哈顿距离是: ", distance([1, 6], [4, 7]))
print("4.计算给定数据的几何平均数,即n个数阶乘的n次方根")
x = choices(range(1, 10), k=5)
print(x, "的几何平均数: ", reduce(lambda a, b:a * b, x) ** 1 / len(x))
print("5.计算向量的L1和L2范数")
vector = choices(range(1, 10), k=5)
l1_norm = sum(map(abs, vector))
l2_norm = sum(i ** 2 for i in vector) ** 0.5
print("vector: ", vector)
print("L1范数: ", l1_norm)
print("L2范数: ", l2_norm)
print("6.判断对称矩阵")
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
matrix_T = list(map(list, zip(*matrix)))
print("matrix: ", matrix)
print("matrix_T: ", matrix_T)
print(matrix == matrix_T)
print("7.计算矩阵的迹")
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print("matrix", matrix, sep=":")
print(sum(matrix[i][i] for i in range(len(matrix))))
print("8.把列表中[0,9]间的数字连接成大整数")
list = choices(range(0, 9), k=25)
print("list: ", list)
print("big integer(join()方式): ", "".join(map(str, list)))
print("big integer(reduce()方式): ", reduce(lambda a, b:a * 10 + b, list))
print("9.棋盘一共64个小格子,在第一个格子里放1粒米,第二个格子里放2粒米,第三个格子里放4粒米,第四个格子里放8粒米,以此类推,\n后面每个格子里的米都是前一个格子里的2倍,一直把64个格子都放满。需要多少粒米呢?")
print("sum()方式: ",sum(2**i for i in range(64)))
print("int()方式: ",int('1'*64,2))
print("10.求100内的素数:")
print(list(i for i in range(2,100) if 0 not in [i%j for j in range(2,int(i*0.5)+1)]))
print("11.计算前n个自然数的阶乘之和1!+2!+3!+...+n!的值:")
print(sum(list(reduce(lambda x, y:x * y, range(1, i + 1)) for i in range(1, 6))))

运行:
用python实现(1.求输入的百倍,十位,个位数;2.输入a,b和ab间夹角,计算c边长;3.计算两点间曼哈顿距离;4.计算给定数据的几何平均数;5.计算向量的L1和L2范数)_第1张图片
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
解:
2.输入a,b和ab之间的夹角,求c边长
转换余弦公式
在这里插入图片描述
3.计算两点之间的曼哈顿距离
用平面曼哈顿距离定义公式
在这里插入图片描述
5.计算向量的L1和L2范数
L1范数:所有分量绝值之和
L2范数:所有分量平方和的平方根

你可能感兴趣的:(Python)