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  阅读(12)  评论(0)    收藏  举报