25级数应四班第一次实验(40)

学号 姓名 是否提交作业
2025010133 王子涵
2025010134 赵雯佳
2025010136 屈雨蒙
2025010137 刘柯凡
2025010139 潘佳乐
2025010140 杨亚洲
2025010141 王嘉伟
2025010142 杨旭洁
2025010143 肖雅楠
2025010144 张博洋
2025010145 黄冰冰
2025010146 顾芳菲
2025010147 刘芝怡
2025010148 岳嘉瑞
2025010149 马相淼
2025010150 唐景泽
2025010151 侯益波
2025010152 刘金惺
2025010153 范鹏展
2025010154 洪关瑞
2025010155 王状
2025010157 闫宸熙
2025010158 陈文洁
2025010159 成哲煜
2025010160 韩俊杰
2025010161 朱星月
2025010162 刘奕桐
2025010163 刘志杰
2025010164 李朋祖
2025010165 赵子月
2025010166 蒋子凡
2025010167 杨书宇
2025010168 袁艺伦
2025010169 闵子怡
2025010170 张家祺
2025010171 陈宣汝
2025010172 张景悦
2025010173 杨云飞
2025010174 刘研
2025010175 孙兰妮
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}")

屏幕截图 2026-03-10 221156

2025010136 屈雨蒙
输入7-10个数字,求其均方差
# 输入数字,确保是 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-28 131631

 


 


 

2025010137刘柯凡
水仙花数
for i in range(100, 1000):
   bai = i // 100 # 百位
   shi = (i % 100) // 10 # 十位
   ge = i % 10 # 个位
   if bai**3 + shi**3 + ge**3 == i:
       print(i)

屏幕截图 2026-03-30 085136

 

2025010139潘佳乐
寻找坦克代码中圆圈字符的个数
print("""
           ▶ 学编程,你不是一个人在战斗~~

II=======00000[/  ★007  ]
           /\--
         /  /
       / mingrisoft.com 
      \◎◎◎◎◎◎◎◎◎◎◎/
       ~~~~~~~~~~~~~~
""")
text="◎◎◎◎◎◎◎◎◎◎◎"
total_num=len(text)
print("总共有",total_num,"个字符")

Screenshot_20260330093057

 

 2025010140杨亚洲

一元二次方程求解

import math

a = float(input("请输入a的值:"))
b = float(input("请输入b的值:"))
c = float(input("请输入c的值:"))

delta = b**2 - 4*a*c

if delta < 0:
    print("该方程无实数根")
elif delta == 0:
    x12 = -b / (2*a)
    print(f"x12 = {x12}")
else:
    x1 = (-b + math.sqrt(delta)) / (2*a)
    x2 = (-b - math.sqrt(delta)) / (2*a)
    print(f"x1 = {x1}")
    print(f"x2 = {x2}")
屏幕截图 2026-03-25 215217

 

  

2025010141王嘉伟
def det3(mat):
    # 计算3x3矩阵的行列式
    a, b, c = mat[0]
    d, e, f = mat[1]
    g, h, i = mat[2]
    return a * (e * i - f * h) - b * (d * i - f * g) + c * (d * h - e * g)


def mat_mult_3x3(mat1, mat2):
    # 计算两个3x3矩阵的乘积
    result = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]
    for i in range(3):
        for j in range(3):
            for k in range(3):
                result[i][j] += mat1[i][k] * mat2[k][j]
    return result


def det_mult_3x3(det1_mat, det2_mat):
    # 计算两个3x3行列式的乘积(两种方式验证)
    # 方式1:直接计算两个行列式的值再相乘
    det1 = det3(det1_mat)
    det2 = det3(det2_mat)
    direct_product = det1 * det2

    # 方式2:先矩阵相乘,再计算新矩阵的行列式
    product_mat = mat_mult_3x3(det1_mat, det2_mat)
    mat_product_det = det3(product_mat)

    return direct_product, mat_product_det


# ------------------- 示例测试 -------------------
A = [
    [4, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

B = [
    [1, 0, 0],
    [0, 1, 0],
    [0, 0, 1]
]  # 单位矩阵,det(B)=1,方便验证

# 计算行列式乘积
direct_prod, mat_prod = det_mult_3x3(A, B)

print(f"矩阵A的行列式: {det3(A)}")
print(f"矩阵B的行列式: {det3(B)}")
print(f"直接相乘结果: {direct_prod}")
print(f"矩阵相乘后取行列式结果: {mat_prod}")
屏幕截图 2026-03-25 220119

 

 

 

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-25 131208

屏幕截图 2026-03-25 131547

 

 

2025010143 肖雅楠
# 抛物线 y = ax² + bx + c a = 1 b = -2 c = 1 # 直线 y = kx + d k = 1 d = -1 # 整理成一元二次方程 Ax² + Bx + C = 0 A = a B = b - k C = c - d # 计算判别式 delta = B ** 2 - 4 * A * C print("一元二次方程:{}x² + {}x + {} = 0".format(A, B, C)) print("判别式 Δ =", delta) if delta > 0: x1 = (-B + delta ** 0.5) / (2 * A) y1 = k * x1 + d x2 = (-B - delta ** 0.5) / (2 * A) y2 = k * x2 + d print("有两个交点:") print(f"({x1:.2f}, {y1:.2f})") print(f"({x2:.2f}, {y2:.2f})") elif delta == 0: x = -B / (2 * A) y = k * x + d print("有一个交点(相切):") print(f"({x:.2f}, {y:.2f})") else: print("无实数交点")
屏幕截图 2026-03-25 134722

 

 

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-24 215449

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-25 130854

 

 

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-25 130735

 

 

 

刘芝怡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)

微信图片_20260325211227_1208_78

 

 

 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 214813

 2025010149马相淼

 斐波那契数列

# 获取用户输入的数字
n = int(input("请输入要输出斐波那契数列的项数:"))
# 初始化前两项
a, b = 0, 1
fib_list = []
# 生成前 n 项
for _ in range(n):
    fib_list.append(a)
    a, b = b, a + b
# 输出结果
print(f"斐波那契数列前 {n} 项为:")
print(fib_list)

微信图片_20260427081625_36_2

 

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

2025010151侯益波

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

 

 

 

 

 

 

2025010152刘金惺

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-30 085050

 

 

 

 20250101153范鹏展 求内切圆面积

# 请输入三角形三条边的长:
print("请输入三角形三条边的长:")

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("\n计算结果:")
    print("三角形面积 =", area_tri)
    print("内切圆半径 r =", r)
    print("内切圆面积 =", area_circle)
else:
    print("❌ 这三条边不能构成三角形!")
屏幕截图 2026-03-29 215843

 

 

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-25 131123


2025010155王状
# 求最大公约数(辗转相除法) def gcd(a, b): while b != 0: a, b = b, a % b return a # 求最小公倍数 def lcm(a, b): return a * b // gcd(a, b) # 用整数除法避免小数 # 测试示例 if __name__ == "__main__": num1 = int(input("请输入第一个数:")) num2 = int(input("请输入第二个数:")) result = lcm(num1, num2) print(f"{num1} 和 {num2} 的最小公倍数是:{result}")
屏幕截图 2026-05-15 193815

 


 

2025010157闫宸熙随机三点拟合直线
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}")
屏幕截图 2026-05-15 190946

 

 

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-29 142559

 

 

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)
联想截图_20260330085016

 


 

 2025010160韩俊杰

import re

def calculate_rice_total(receipt_text):
    """
    从超市小票文本中,汇总所有含「米」字的商品价格
    :param receipt_text: 超市小票字符串
    :return: 米类商品列表、总价格
    """
    # 匹配:包含“米”,且以 小数价格 结尾
    pattern = re.compile(r'^.*米.*?(\d+\.\d{2})$', re.M | re.I)

    rice_items = []
    total = 0.0

    for line in receipt_text.strip().splitlines():
        line = line.strip()
        match = pattern.search(line)
        if match:
            price = float(match.group(1))
            rice_items.append((line, price))
            total += price

    return rice_items, total


if __name__ == '__main__':

    receipt = """
超市购物小票
------------------------
矿泉水        2.00
面包          3.50
东北大米      59.90
小米          12.80
洗衣液        18.90
泰国香米      69.90
------------------------
合计         167.00
    """

    rice_list, total_price = calculate_rice_total(receipt)

    print("=== 含「米」商品汇总 ===")
    for item, price in rice_list:
        print(item)

    print(f"\n含米商品总价:{total_price:.2f} 元")
屏幕截图 2026-04-27 102757

 

 

 

 

 

 

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 # 主程序逻辑 if __name__ == "__main__": try: # 获取用户输入的年份,并转换为整数 input_year = int(input("请输入要判断的年份(如:2024):")) # 调用函数判断是否为闰年 if is_leap_year(input_year): print(f"{input_year}年是闰年") else: print(f"{input_year}年不是闰年") # 处理用户输入非数字的情况 except ValueError: print("输入错误!请输入有效的整数年份(如2024)。")

屏幕截图 2026-03-25 230300

 

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=int(input('请输入一个整数n')) result=1 for i in range(1,n+1): result*=i print(f'{result}')
屏幕截图 2026-03-28 152448

2025010164李朋祖

# 外层循环控制行数 1~9
for i in range(1, 10):
    # 内层循环控制每行的列数
    for j in range(1, i + 1):
        print(f"{j}×{i}={i*j}", end="\t")
    # 每行结束换行
    print()

屏幕截图 2026-04-27 214806

 

 

 

 

 

 
 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)

屏幕截图 2026-03-28 181926

2025010166蒋子凡 

# 小写英文字母对应希腊字母
eng2greek = {
    'a':'α','b':'β','c':'γ','d':'δ','e':'ε','z':'ζ',
    'h':'η','q':'θ','i':'ι','k':'κ','l':'λ','m':'μ',
    'n':'ν','x':'ξ','o':'ο','p':'π','r':'ρ','s':'σ',
    't':'τ','u':'υ','f':'φ','ch':'χ','ps':'ψ','w':'ω'
}

def to_greek(s):
    return ''.join([eng2greek.get(c,c) for c in s.lower()])

# 测试
if __name__ == "__main__":
    print(to_greek("abc"))

屏幕截图 2026-04-27 221527

 

杨书宇2025010167 十进制变二进制

# 输入十进制数字
decimal = int(input("请输入十进制数:"))

# 转换为二进制(bin() 自带 0b 前缀)
binary = bin(decimal)

# 输出结果(去掉前缀用 [2:])
print("二进制结果(带前缀):", binary)
print("二进制结果(纯数字):", binary[2:])

  屏幕截图 2026-03-29 222104

 

袁艺伦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)}")S

屏幕截图 2026-03-29 215051

 


 

闵子怡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))
屏幕截图 2026-03-28 185250

 

2025010170张家祺
100以内含3的数的总和
s = 0#设最初总和为0 for i in range(0, 101):# 包含0到100的所有数 if'3' in str(i):# 判断数字里是否有3 s = s + i print(s)# 输出结果
微信图片_20260324170454_2_150000000000

 

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

 

 

 

 



 

2026010172张景悦
取三个点求离这三个点最近的直线
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}")
微信图片_20260324165112_4_20000

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 2025010173杨云飞

1-5按大小排序

 

# 随便乱序5个数
a = 3
b = 1
c = 5
d = 2
e = 4

# 从小到大手动排列
min1 = min(a,b,c,d,e)
max1 = max(a,b,c,d,e)

s = [a,b,c,d,e]
s.remove(min1)
s.remove(max1)
mid = sorted(s)

print(min1, mid[0], mid[1], mid[2], max1)

屏幕截图 2026-04-27 103808

 

2025010174刘研
班级姓氏前三
# 1. 整理全班同学姓名(中间字替换为星号) students = [ # 男生 "刘*凡", "潘*乐", "杨*洲", "王*伟", "张*洋", "马*淼", "唐*泽", "侯*波", "刘*握", "范*展", "王状", "闫*熙", "成*煜", "韩*杰", "李*祖", "蒋*凡", "杨*宇", "袁*伦", "杨*飞", # 女生 "王*涵", "赵*佳", "屈*蒙", "杨*洁", "肖*楠", "黄*冰", "顾*菲", "刘*怡", "岳*瑞", "洪*瑞", "陈*洁", "朱*月", "刘*桐", "刘*杰", "赵*月", "闵*怡", "张*祺", "陈*汝", "张*悦", "刘研", "孙*妮" ] # 2. 提取姓氏并统计次数 from collections import Counter # 提取每个同学的姓氏(取姓名第一个字) surnames = [name[0] for name in students] # 统计姓氏出现次数 surname_count = Counter(surnames) # 3. 按出现次数降序排序 sorted_surnames = sorted(surname_count.items(), key=lambda x: x[1], reverse=True) # 4. 输出排名前三的姓氏 print("2025级数应四班姓氏排名前三:") for i, (surname, count) in enumerate(sorted_surnames[:3], 1): print(f"第{i}名: {surname}姓, 共{count}人")
c608e80c1cb20878fcd32681bf528344

 

 

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_product = [vec1[i] * vec2[i] for i in range(len(vec1))]
    print(f"对应元素相乘结果:{elementwise_product}")
644d18e3949f540777d397ce8f6bc513

 


 


 

 

 

 


 

 
posted @ 2026-06-17 20:42  szmtjs10  阅读(4)  评论(0)    收藏  举报