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)
屏幕截图 2026-03-17 134147

 

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

屏幕截图 2026-03-16 214606

 

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)

联想截图_20260317232241

 

 

 

 

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("这三条边不能构成三角形")

  屏幕截图 2026-03-17 221838

 

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)

 

屏幕截图 2026-03-16 084620
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

屏幕截图 2026-03-17 224739

 

 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, "度")

屏幕截图 2026-03-16 220324

 

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

屏幕截图 2026-03-15 234733

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}次")

 

 

屏幕截图2026.03.16

 

2025010163刘志杰n的阶乘
n=int(input('请输入一个整数n'))

result=1
for i in range(1,n+1):
    result=result*i

print(f'{result}')

000

 

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()  # 换行,开始下一行
屏幕截图 2026-03-16 003552

 


 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)
屏幕截图 2026-03-16 003512

 

 




 


 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}")

  屏幕截图 2026-03-16 083406

 

 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}")

屏幕截图 2026-03-10 221156

 


 





2025010139潘佳乐 统计坦克代码中圆圈字符个数 print(""" ▶ 学编程,你不是一个人在战斗~~ II=======00000[/ ★007 ] /\-- / / / mingrisoft.com \◎◎◎◎◎◎◎◎◎◎◎/ ~~~~~~~~~~~~~~ """) text="◎◎◎◎◎◎◎◎◎◎◎" total_num=len(text) print("总共有",total_num,"个字符")
Screenshot_20260315233416

 

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("无实根")
屏幕截图 2026-03-16 091030

 

 

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("不能构成三角形")

屏幕截图 2026-03-15 235346

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)
屏幕截图 2026-03-16 090627

 

 

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)

屏幕截图 2026-03-16 213438

 

刘芝怡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)
屏幕截图(11)

 

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

image

 

 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}")
屏幕截图 2026-03-15 235950

 

 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)

b2d748ab68aae399fe3c56640faf3014

 

2025010159成哲煜

import math

 

联想截图_20260316004251

 

 

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)

屏幕截图 2026-03-15 234647

 


 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)}")
屏幕截图 2026-03-17 181817
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)# 输出结果
屏幕截图 2026-03-15 230246

 

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} 不能构成三角形")

新建文件夹 – D__新建文件夹_sjx.py 2026_3_16 8_57_32

 

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}")
微信图片_20260315231915_2_3

 

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}")

image

 

 


 


 


 


 


 

 
posted @ 2026-03-18 20:07  szmtjs10  阅读(3)  评论(0)    收藏  举报