25级数应四班实验1
2025010136 屈雨蒙 求均方差
# 输入数字,确保是 7~10 个
while True:
nums = input("请输入7-10个数字,用空格分隔:").split()
if 7 <= len(nums) <= 10:
try:
nums = [float(x) for x in nums]
break
except:
print("输入不是有效数字,请重新输入!")
else:
print("必须输入7-10个数,请重新输入!")
# 计算均值
mean = sum(nums) / len(nums)
# 计算均方差(方差)
variance = sum((x - mean) ** 2 for x in nums) / len(nums)
print("均值:", mean)
print("均方差(方差):", variance)
2025010148 岳嘉瑞 给一点和直线求垂足
# 函数:求点到直线的垂足
def foot_of_perpendicular(x0, y0, A, B, C):
denominator = A**2 + B**2
x = (B*(B*x0 - A*y0) - A*C) / denominator
y = (A*(-B*x0 + A*y0) - B*C) / denominator
return round(x, 3), round(y, 3)
# ================== 调用 ==================
# 点坐标
px, py = 1, 1
# 直线:Ax + By + C = 0
A, B, C = 2, -1, 1
# 求垂足
foot_x, foot_y = foot_of_perpendicular(px, py, A, B, C)
print("点:", (px, py))
print("直线:{}x + {}y + {} = 0".format(A, B, C))
print("垂足:", (foot_x, foot_y))

2025010151 侯益波 1到100素数
primes=[] for num in range(2,101): flag=True for i in range(2,int(num**0.5)+1): if num%i==0: flag=False break if flag: primes.append(num) print(primes)

2025010153 范鹏展 内切圆面积
a = float(input("边长a: "))
b = float(input("边长b: "))
c = float(input("边长c: "))
# 判断是否能构成三角形
if a + b > c and a + c > b and b + c > a:
# 半周长
p = (a + b + c) / 2
# 海伦公式计算三角形面积
area_tri = (p * (p - a) * (p - b) * (p - c)) ** 0.5
# 内切圆半径
r = area_tri / p
# 圆周率
pi = 3.14
# 内切圆面积
area_circle = pi * r ** 2
print("三角形面积:", area_tri)
print("内切圆半径:", r)
print("内切圆面积:", area_circle)
else:
print("这三条边不能构成三角形")

2025010154 洪关瑞 在五个数中找出偶数
count = 0
if 0 % 2 == 0:
count += 1
if 1 % 2 == 0:
count += 1
if 2 % 2 == 0:
count += 1
if 3 % 2 == 0:
count += 1
if 4 % 2 == 0:
count += 1
print("0~4的偶数个数是", count)
import random
points = []
for _ in range(3):
x = random.randint(0, 10)
y = random.randint(0, 10)
points.append((x, y))
print("随机三个点:")
for p in points:print(p)
n = 3
sum_x = 0
sum_y = 0
sum_xy = 0
sum_x2 = 0
for x, y in points:
sum_x += x
sum_y += y
sum_xy += x * y
sum_x2 += x ** 2
denominator = n * sum_x2 - sum_x ** 2
k = (n * sum_xy - sum_x * sum_y) / denominator
b = (sum_y - k * sum_x) / n
print(f"\n拟合直线:y = {k:.2f}x + {b:.2f}")
闫宸熙2025010157

2025010158陈文洁圆外一点,切线夹角
import math
# 圆心、半径
x0 = 0
y0 = 0
r = 2
# 点坐标
x = 5
y = 0
# 计算点到圆心距离
d = math.hypot(x - x0, y - y0)
print("点到圆心距离 d =", d)
print("半径 r =", r)
if d <= r:
print("点在圆内或圆上,没有两条切线")
else:
theta_rad = 2 * math.asin(r / d)
theta_deg = math.degrees(theta_rad)
print("切线夹角(弧度):", theta_rad)
print("切线夹角(角度):", theta_deg, "度")

2025010160韩俊杰计算米的价格
#定义超市米类字典:键=米的品类,值等于单价(元/斤)
rice_price={'东北大米':2.8,
'五常大米':5.9,
'超市中的小米':3.2
}
#汇总超市中所有米的价格(输出品类+单价,及价格)
print('超市所有米类价格汇总:')
for rice,price in rice_price.items():
print(f'{rice}:{price}元/斤')

2025010161朱星月闰年判断
def is_leap_year(year):
"""
判断一个年份是否为闰年
参数:
year: 整数类型的年份
返回:
bool: 是闰年返回True,否则返回False
"""
# 核心判断逻辑
if (year % 4 == 0 and year % 100 != 0) or (year % 400 == 0):
return True
else:
return False

2025010162刘奕桐统计项目重复次数
#你的项目名列表(把这里换成你的数据)
project_list =["项目A", "项目B", "项目A", "项目C", "项目B", "项目A"]
#空字典,用来统计
count_result = {}
#循环统计
for project in project_list:
if project in count_result:
count_result[project] += 1
else:
count_result[project] = 1
#打印结果
print("重复次数统计:")
for project, count in count_result.items():
print(f"{project}:{count}次")

2025010163刘志杰n的阶乘
n=int(input('请输入一个整数n'))
result=1
for i in range(1,n+1):
result=result*i
print(f'{result}')

2025010164李朋祖乘法表
# 九九乘法表(左对齐)
for i in range(1, 10): # 控制行数,1到9行
for j in range(1, i + 1): # 控制列数,第i行有i列
print(f"{j}×{i}={i*j}", end="\t")
print() # 换行,开始下一行
2025010165赵子月三顶点求三角形面积
def triangle_area(x1, y1, x2, y2, x3, y3):
area = 0.5 * abs(x1*(y2-y3) + x2*(y3-y1) + x3*(y1-y2))
return area
# 示例:三点 (0,0), (0,2), (2,0)
A = (0, 0)
B = (0, 2)
C = (2, 0)
area = triangle_area(*A, *B, *C)
print("三角形面积 =", area)

2025010166蒋子凡英文字母翻译为希腊字母
# 英文字母 对应 希腊字母 的映射表s
def english_to_greek(text):
# 基础希腊字母对应表(大小写)
greek_map = {
# 小写
'a': 'α', 'b': 'β', 'c': 'ψ', 'd': 'δ', 'e': 'ε',
'f': 'φ', 'g': 'γ', 'h': 'η', 'i': 'ι', 'j': 'ξ',
'k': 'κ', 'l': 'λ', 'm': 'μ', 'n': 'ν', 'o': 'ο',
'p': 'π', 'q': 'θ', 'r': 'ρ', 's': 'σ', 't': 'τ',
'u': 'υ', 'v': 'ς', 'w': 'ω', 'x': 'χ', 'y': 'υ',
'z': 'ζ',
# 大写
'A': 'Α', 'B': 'Β', 'C': 'Ψ', 'D': 'Δ', 'E': 'Ε',
'F': 'Φ', 'G': 'Γ', 'H': 'Η', 'I': 'Ι', 'J': 'Ξ',
'K': 'Κ', 'L': 'Λ', 'M': 'Μ', 'N': 'Ν', 'O': 'Ο',
'P': 'Π', 'Q': 'Θ', 'R': 'Ρ', 'S': 'Σ', 'T': 'Τ',
'U': 'Υ', 'V': 'ς', 'W': 'Ω', 'X': 'Χ', 'Y': 'Υ',
'Z': 'Ζ'
}
# 逐字符转换
result = []
for char in text:
# 能翻译就翻译,不能就保留原字符
result.append(greek_map.get(char, char))
return ''.join(result)
# ------------------- 测试 -------------------
if __name__ == '__main__':
# 测试输入
test_str = "Hello World! ABC abc"
# 转换
greek_result = english_to_greek(test_str)
# 输出
print("原始英文:", test_str)
print("希腊字母:", greek_result)
2025010133 王子涵
最大公约数
a = int(input("请输入第一个数: "))
b = int(input("请输入第二个数: "))
m, n = a, b # 保存原始输入
t = 1
for i in range(2, min(a, b) + 1): # 注意要+1,否则min(a,b)本身不会被遍历到
while a % i == 0 and b % i == 0:
t *= i
a //= i # 使用整数除法//
b //= i
print(f"{m}, {n}的最大公约数为: {t}")

2025010134 赵雯佳 三点判圆
import math
# 输入三个点
x1, y1 = map(float, input("请输入第一个点 x1 y1: ").split())
x2, y2 = map(float, input("请输入第二个点 x2 y2: ").split())
x3, y3 = map(float, input("请输入第三个点 x3 y3: ").split())
# 计算行列式,判断三点是否共线
A = x1*(y2 - y3) + x2*(y3 - y1) + x3*(y1 - y2)
if abs(A) < 1e-9:
print("三点共线,不能确定一个圆!")
else:
# 求圆心 (a, b)
a1 = 2 * (x2 - x1)
b1 = 2 * (y2 - y1)
c1 = x2**2 + y2**2 - x1**2 - y1**2
a2 = 2 * (x3 - x1)
b2 = 2 * (y3 - y1)
c2 = x3**2 + y3**2 - x1**2 - y1**2
D = a1 * b2 - a2 * b1
a = (c1 * b2 - c2 * b1) / D
b = (a1 * c2 - a2 * c1) / D
# 求半径
r = math.hypot(x1 - a, y1 - b)
print(f"圆心坐标:({a:.2f}, {b:.2f})")
print(f"半径:{r:.2f}")

2025010139潘佳乐 统计坦克代码中圆圈字符个数 print(""" ▶ 学编程,你不是一个人在战斗~~ II=======00000[/ ★007 ] /\-- / / / mingrisoft.com \◎◎◎◎◎◎◎◎◎◎◎/ ~~~~~~~~~~~~~~ """) text="◎◎◎◎◎◎◎◎◎◎◎" total_num=len(text) print("总共有",total_num,"个字符")
2025010142杨旭洁
一元二次方程
a = float(input("a: ")) b = float(input("b: ")) c = float(input("c: ")) d = b**2 - 4*a*c if d > 0: x1 = (-b + d**0.5) / (2*a) x2 = (-b - d**0.5) / (2*a) print(x1, x2) elif d == 0: print(-b / (2*a)) else: print("无实根")
2025010144张博洋
三角形的类型判断
a,b,c=map(float,input("输入三边空格隔开:").split())
# 判断是否构成三角形
if a <= b and a <= c:
min = a
elif b <= a and b <= c:
min = b
else: min = c
if a >= b and a >= c:
max = a
elif b >= a and b >= c:
max = b
else: max = c
mid = a + b+ c-max-min
if min + mid > max:
print("可以构成三角形")
if min**2 + mid**2 == max**2:
print ("直角三角形")
elif min**2 + mid**2 > max**2:
print ("锐角三角形")
else: print("钝角三角形")
else:
print("不能构成三角形")

2025010145 黄冰冰
两个函数找公约数
# 先输入第一个数 a = int(input("请输入第一个数(100以内):")) # 再输入第二个数 b = int(input("请输入第二个数(100以内):")) # 存储公约数列表 common_divisors = [] # 遍历1到较小的数,判断是否为公约数 for i in range(1, min(a, b) + 1): if a % i == 0 and b % i == 0: common_divisors.append(i) # 输出结果 print("两个数的公约数为:", common_divisors)
2025010146 顾芳菲
# 判断一个数是不是素数
def is_prime(n):
if n < 2:
return False
for i in range(2, int(n**0.5) + 1):
if n % i == 0:
return False
return True
# 找出 100 以内的素数
primes = [n for n in range(2, 101) if is_prime(n)]
print("100以内的素数:")
print(primes)

刘芝怡2025010147水仙花数
# 找出所有3位水仙花数 for i in range(100, 1000): # 拆出百位、十位、个位 a = i // 100 # 百位 b = (i // 10) % 10 # 十位 c = i % 10 # 个位 if a**3 + b**3 + c**3 == i: print(i)
2025010150唐景泽英文加密
def encrypt(text): result ="" for c in text: if c.islower(): # 小写字母 result += chr((ord(c)-ord('a') + 5) % 26 + ord('a')) elif c.isupper(): # 大写字母 result += chr((ord(c)-ord('A') + 5) % 26 + ord('A')) else: result += c return result # 使用 s = input("请输入英文:") print("加密后:",encrypt(s))

2925010152刘金惺
计算任意三角形的内切圆面积
import math
def is_valid_triangle(a, b, c):
"""验证三边能否构成三角形(任意两边之和大于第三边)"""
if a <= 0 or b <= 0 or c <= 0:
return False
return (a + b > c) and (a + c > b) and (b + c > a)
def inscribed_circle_area(a, b, c):
"""计算三角形内切圆面积"""
# 先验证三角形合法性
if not is_valid_triangle(a, b, c):
raise ValueError("输入的三边无法构成有效三角形")
# 计算半周长
semi_perimeter = (a + b + c) / 2
# 海伦公式计算三角形面积
triangle_area = math.sqrt(
semi_perimeter *
(semi_perimeter - a) *
(semi_perimeter - b) *
(semi_perimeter - c)
)
# 计算内切圆半径
inradius = triangle_area / semi_perimeter
# 计算内切圆面积
circle_area = math.pi * (inradius **2)
return circle_area
# 主程序(用户交互部分)
if __name__ == "__main__":
try:
# 获取用户输入的三边长度
a = float(input("请输入三角形第一条边长:"))
b = float(input("请输入三角形第二条边长:"))
c = float(input("请输入三角形第三条边长:"))
# 计算并输出结果
area = inscribed_circle_area(a, b, c)
print(f"\n该三角形内切圆的面积为:{area:.4f}(保留4位小数)")
except ValueError as e:
print(f"错误:{e}")
except Exception as e:
print(f"程序异常:{e}")
2025010155王状
# 求最小公倍数
a = int(input("请输入第一个数:"))
b = int(input("请输入第二个数:"))
# 先找最大的数
max_num = max(a, b)
while True:
if max_num % a == 0 and max_num % b == 0:
lcm = max_num
break
max_num += 1
print("最小公倍数是:", lcm)

2025010159成哲煜
import math
data = [1, 2, 3, 4, 5]
mean = sum(data) / len(data)
variance = sum((x - mean) ** 2 for x in data) / len(data)
std_dev = math.sqrt(variance)
print("总体均方差(标准差):", std_dev)
2025010167杨书宇十进制二进制
def decimal_to_binary(num):
if num == 0:
return "0"
binary = ""
while num > 0:
remainder = num % 2
binary = str(remainder) + binary
num = num // 2
return binary
# 主程序
decimal = int(input("请输入十进制整数:"))
binary_result = decimal_to_binary(decimal)
print("转换后的二进制为:", binary_result)

2025010168袁艺伦三角形外接圆
import math
def find_circumcircle(A, B, C):
"""
输入:A, B, C 是三个点,格式为 (x, y)
输出:圆心 (cx, cy) 和半径 r
逻辑:解两条垂直平分线的方程组
"""
x1, y1 = A
x2, y2 = B
x3, y3 = C
# 1. 计算 AB 边的中点 M1 和 BC 边的中点 M2
M1 = ((x1+x2)/2, (y1+y2)/2)
M2 = ((x2+x3)/2, (y2+y3)/2)
# 2. 计算 AB 和 BC 的斜率,进而得到垂直平分线的斜率
# 若直线垂直于 x 轴(斜率无穷大),则垂直平分线平行于 x 轴
if y2 - y1 == 0:
k1 = 'inf'
else:
k1 = -(x2 - x1) / (y2 - y1)
if y3 - y2 == 0:
k2 = 'inf'
else:
k2 = -(x3 - x2) / (y3 - y2)
# 3. 联立方程求解圆心 (cx, cy)
# 利用直线方程:y - y_mid = k * (x - x_mid)
if k1 == 'inf':
# AB 垂直平分线是竖直线 x = M1[0]
cx = M1[0]
cy = k2 * (cx - M2[0]) + M2[1]
elif k2 == 'inf':
# BC 垂直平分线是竖直线 x = M2[0]
cx = M2[0]
cy = k1 * (cx - M1[0]) + M1[1]
else:
# 解二元一次方程组
cx = (M2[1] - M1[1] + k1*M1[0] - k2*M2[0]) / (k1 - k2)
cy = k1 * (cx - M1[0]) + M1[1]
# 4. 计算半径(圆心到任意顶点的距离)
r = math.hypot(x1 - cx, y1 - cy)
return (cx, cy), r
# 测试一下
P1, P2, P3 = (0, 0), (0, 2), (2, 0)
center, r = find_circumcircle(P1, P2, P3)
print(f"圆心坐标: {center}")
print(f"圆半径: {round(r, 2)}")

2025010169闵子怡
# 向量加法 def vector_add(v1, v2): if len(v1) != len(v2): return "长度不同,不能相加" return [a + b for a, b in zip(v1, v2)] # 向量减法 def vector_sub(v1, v2): if len(v1) != len(v2): return "长度不同,不能相减" return [a - b for a, b in zip(v1, v2)] # 测试 if __name__ == "__main__": v1 = [1, 2, 3] v2 = [4, 5, 6] print("v1 + v2 =", vector_add(v1, v2)) print("v1 - v2 =", vector_sub(v1, v2))
2025010170张家祺
100以内含3的数的总和
s = 0#设最初总和为0 for i in range(1, 101):# 包含1到100的所有数 if'3' in str(i):# 判断数字里是否有3 s = s + i print(s)# 输出结果
2025010171陈宣汝
def is_triangle(a, b, c): # 先判断边长都大于0 if a <= 0 or b <= 0 or c <= 0: return False # 三角形三边关系:任意两边之和大于第三边 return (a + b > c) and (a + c > b) and (b + c > a) # 测试示例 if __name__ == "__main__": a = float(input("请输入第一条边长:")) b = float(input("请输入第二条边长:")) c = float(input("请输入第三条边长:")) if is_triangle(a, b, c): print(f"{a}, {b}, {c} 可以构成三角形") else: print(f"{a}, {b}, {c} 不能构成三角形")

2025010172张景悦
取三个点求出距离这三个点最近的直线
import numpy as np # 随便给三个点,你可以换成自己的 points = np.array([ [1, 2], [2, 3], [3, 5] ]) x = points[:, 0] y = points[:, 1] # 最小二乘拟合直线 y = kx + b A = np.vstack([x, np.ones(len(x))]).T k, b = np.linalg.lstsq(A, y, rcond=None)[0] print(f"最优直线:y = {k:.4f}x + {b:.4f}")
2025010175孙兰妮
向量的乘积
# 获取用户输入的第一个向量 vec1_input = input("请输入第一个向量(用空格分隔数字,例如:1 2 3):") vec2_input = input("请输入第二个向量(用空格分隔数字,例如:4 5 6):") # 将输入的字符串转换为浮点数组列表 vec1 = [float(x) for x in vec1_input.split()] vec2 = [float(x) for x in vec2_input.split()] # 检查两个向量长度是否相同 if len(vec1) != len(vec2): print("错误:两个向量的长度必须相同!") else: print("\n====== 计算结果 ======") # 1. 点积(内积):对应元素相乘后求和 dot_product = sum([vec1[i] * vec2[i] for i in range(len(vec1))]) print(f"点积:{dot_product}") # 2. 差积(对应元素相减,得到一个新向量) elementwise_difference = [vec1[i] - vec2[i] for i in range(len(vec1))] print(f"差积结果:{elementwise_difference}")


浙公网安备 33010602011771号