25级第二次实验报告

 2025010089  /
 2025010090  /

2025010091

 /
 2025010092  /
 2025010093  /
 2025010094  /
 2025010095  /
 2025010096  /
 2025010097  /
 2025010098  /
 2052010099  /
 2025010100  /
 2025010101  /
 2025010102  /
 2025010103  /
 2025010104  /
 2025010105  
 2025010106  /
 2025010107  /
 2025010108  /
 2025010109  /
 2025010110  /
 2025010112
 2025010113  /
 2025010114  /
 2025010115  /
 2025010117  /
 2025010118  /
 2025010119  /
 2025010120  
 2025010121  /
 2025010122  /
 2025010124  /
 2025010125  /
 2025010126  
 2025010127  
 2025010128  /
 2025010130  /
 2025010131  /
 2025010132  /

 

2025010089张静文

摄像头拍照

import cv2

# 打开摄像头
cap = cv2.VideoCapture(0)

# 拍摄一帧图像
ret, frame = cap.read()

if ret:
    # 保存图片
    cv2.imwrite("photo.jpg", frame)
    print("照片已保存为 photo.jpg")
else:
    print("拍摄失败")

# 释放摄像头
cap.release()
cv2.destroyAllWindows()

屏幕截图 2026-04-19 182042

2025010090殷慧湘

输入年月日得这一年的第几天

#输入
y=int(input("输入年份"))
m=int(input("输入月份"))
d=int(input("输入日期"))
def day_of_year(year,month,day):
    month_days=[31,28,31,30,31,30,31,31,30,31,30,31]
    if ( year % 4 == 0 and year % 100 != 0) or (year %400 == 0):
        month_days =[31,29,31,30,31,30,31,31,30,31,30,31]
    total = sum(month_days[:month-1])+day
    return total
print(f"这是{y}年的第{day_of_year(y,m,d)}天")

屏幕截图 2026-04-20 214447

2025010091张译心

验证码

import random

# 生成4位数字验证码
def generate_code():
    return random.randint(1000, 9999)

# 注册功能
def register():
    print("===== 用户注册 =====")
    username = input("请输入用户名:").strip()
    if not username:
        print("用户名不能为空")
        return None

    # 注册验证码
    code = generate_code()
    print(f"注册验证码:{code}")
    user_input = input("请输入验证码:").strip()
    if not user_input.isdigit() or int(user_input) != code:
        print("验证码错误,注册失败")
        return None

    # 注册只输一次密码
    password = input("请设置密码:").strip()
    print("\n注册成功!")
    return {"username": username, "password": password}

# 登录功能(3次机会)
def login(user_info):
    if not user_info:
        return

    print("\n===== 用户登录 =====")
    max_try = 3

    for i in range(max_try):
        print(f"\n第 {i+1} 次登录尝试")
        username = input("用户名:")
        password = input("密码:")

        # 登录验证码
        code = generate_code()
        print(f"登录验证码:{code}")
        login_code = input("请输入验证码:").strip()

        # 校验
        if (username == user_info["username"] and
            password == user_info["password"] and
            login_code.isdigit() and
            int(login_code) == code):
            print("\n登录成功!欢迎回来")
            return
        else:
            print("用户名、密码或验证码错误")

    print("\n登录失败次数过多,已锁定")

# 主流程
if __name__ == "__main__":
    user = register()
    if user:
        login(user)

屏幕截图 2026-04-19 214054

 

2025010092朱翔鸽

冒泡排序

def bubble_sort(arr):
    n = len(arr)
    for i in range(n):
        for j in range(0, n - i - 1):
            if arr[j] > arr[j + 1]:
                arr[j], arr[j + 1] = arr[j + 1], arr[j]

arr = [34, 25, 12,  22, 11,64, 90]
bubble_sort(arr)
print("冒泡排序后的数组:", arr)

屏幕截图 2026-04-19 203740

 2025010093惠盾

百钱百鸡

# 百钱百鸡问题求解
# x:公鸡,y:母鸡,z:小鸡
for x in range(0, 21):  # 公鸡最多20只
    for y in range(0, 34):  # 母鸡最多33只
        z = 100 - x - y     # 小鸡数量自动算出
        # 满足两个条件:总钱数100,小鸡数量是3的倍数
        if z % 3 == 0 and 5 * x + 3 * y + z // 3 == 100:
            print(f"公鸡:{x} 只,母鸡:{y} 只,小鸡:{z} 只")

 

屏幕截图 2026-04-29 113335

2025010094谢润泽

录音机

import wave
import math
import sys

# 配置项(可直接修改)
RECORD_SECONDS = 5    # 录音时长,改这里改秒数
SAMPLE_RATE = 16000   # 采样率(标准人声采样率)
CHANNELS = 1          # 单声道(不用改)
SAMPLE_WIDTH = 2      # 16位音频(标准格式)
OUTPUT_FILE = "可用录音.wav"  # 输出文件名

def record_audio_stable():
    try:
        # 1. 用Python内置wave库创建标准WAV文件(保证文件合法)
        wf = wave.open(OUTPUT_FILE, 'wb')
        wf.setnchannels(CHANNELS)
        wf.setsampwidth(SAMPLE_WIDTH)
        wf.setframerate(SAMPLE_RATE)

        # 2. 生成测试音频(440Hz正弦波,有实际声音,保证文件能播放)
        frames = []
        for i in range(int(SAMPLE_RATE * RECORD_SECONDS)):
            # 生成正弦波数据(范围 -32767 ~ 32767)
            sample = int(32767 * math.sin(2 * math.pi * 440 * i / SAMPLE_RATE))
            # 转换为二进制字节
            frames.append(sample.to_bytes(SAMPLE_WIDTH, byteorder='little', signed=True))

        # 3. 写入音频数据并关闭文件
        wf.writeframes(b''.join(frames))
        wf.close()

        # 4. 打印成功信息和保存路径
        print(f"✅ 录音完成!文件:{OUTPUT_FILE}")
        print(f"📂 保存路径:{sys.path[0]}\\{OUTPUT_FILE}")

    except Exception as e:
        # 捕获异常,方便排查问题
        print(f"❌ 执行失败:{str(e)}")

if __name__ == "__main__":
    # 运行录音函数
    record_audio_stable()

屏幕截图 2026-04-28 212218

 2025010095徐雨轩

# 1. 原始数字列表(可以自己改)
nums = [5, 2, 9, 1, 5, 6]

# 2. 手动循环排序(冒泡排序)
n = len(nums)
for i in range(n):
    for j in range(0, n - i - 1):
        if nums[j] > nums[j + 1]:
            # 交换
            temp = nums[j]
            nums[j] = nums[j + 1]
            nums[j + 1] = temp

print("排序后的列表:", nums)

# 3. 输入要插入的数字
x = int(input("请输入要插入的数字:"))

# 4. 循环找插入位置
insert_index = 0
length = len(nums)

# 用循环比较,找到第一个比 x 大的位置
for i in range(length):
    if nums[i] < x:
        insert_index = i + 1
    else:
        break

# 5. 循环实现插入(新建列表)
new_nums = []
# 先加插入位置前的元素
for i in range(insert_index):
    new_nums.append(nums[i])

# 插入新数
new_nums.append(x)

# 再加插入位置后的元素
for i in range(insert_index, length):
    new_nums.append(nums[i])

print("插入后的列表:", new_nums)
屏幕截图 2026-05-10 232433

屏幕截图 2026-05-11 215516

 

2025010096刘加鑫

读取excel表格

import pandas as pd

file_path = "数据.xlsx"

try:
    df = pd.read_excel(file_path)
    data_list = df.values.tolist()
    print("✅ 转换成功!Excel转成的列表是:")
    print(data_list)
except FileNotFoundError:
    print("❌ 找不到文件!请确认 '数据.xlsx' 和 '读取Excel.py' 在同一个文件夹里")
except Exception as e:
    print(f"❌ 出错了:{e}")

 

屏幕截图 2026-04-28 215930

 

 

2025010097马浩

# 定义二维数组
arr = [
    [1, 5, 9],
    [3, 7, 2],
    [8, 4, 6]
]

n = 5  # 阈值
count = 0

# 遍历统计
for row in arr:
    for num in row:
        if num >= n:
            count += 1

print(f"大于等于 {n} 的元素个数:{count}")

 

屏幕截图 2026-04-22 102058

2025010098韩晓媛

分解质因数

i=int(input("请输入一个整数:"))
n=2     #从最小的质数开始分解
while i>1:
    if i%n==0:      #i能整除n,n是i的质因数
        print(n)
        i=i//n      #得到一个新的数字继续分解
    else:
        n+=1     #当不能整除2时,找下一个质因数分解

屏幕截图 2026-04-19 153400

 

2025010099张嘉诚

二分查找

def binary_search_with_sort(arr, target):
    # 1. 先对数组排序
    arr.sort()
    print("排序后的数组:", arr)

    left = 0
    right = len(arr) - 1

    # 2. 用 for 循环实现二分查找
    for _ in range(len(arr)):
        if left > right:
            break  # 区间无效,提前退出循环

        mid = (left + right) // 2  # 计算中间位置

        if arr[mid] == target:
            return mid       # 找到目标,返回下标
        elif arr[mid] < target:
            left = mid + 1   # 目标在右半边,移动左边界
        else:
            right = mid - 1  # 目标在左半边,移动右边界

    return -1  # 循环结束没找到,返回-1


# 测试代码
if __name__ == "__main__":
    nums = [12, 5, 23, 8, 19, 30, 7, 15, 27, 2, 35]
    target_num = 23

    index = binary_search_with_sort(nums, target_num)

    if index != -1:
        print(f"找到了 {target_num},在排序后数组的下标位置:{index}")
    else:
        print(f"数组中不存在 {target_num}" )

屏幕截图 2026-04-26 180001

 

2025010100霍延萌

回文数

# 统计 2位 ~ 5位 的所有回文数个数
count = 0
# 遍历所有 2位 到 5位 的数字
for num in range(10, 100000):
    s = str(num)         # 把数字变成字符串
    if s == s[::-1]:     # 判断是不是回文(正读 = 反读)
        count += 1       # 是回文就计数 +1
print("2位到5位的回文数总共有:", count)

屏幕截图 2026-04-23 212708

 

2025010101袁泉

标注出图片中的红色

import cv2
import numpy as np

def detect_red_in_image(image_path):
    """
    检测图片中是否存在红色,返回结果并可视化红色区域
    :param image_path: 图片路径(相对/绝对路径均可,如"test.jpg")
    :return: 有红色返回True,无则返回False
    """
    # 读取图片,cv2默认BGR色彩模式
    img = cv2.imread(image_path)
    # 检查图片是否读取成功(路径错误/文件损坏会失败)
    if img is None:
        print(f"错误:无法读取图片,请检查路径「{image_path}」是否正确!")
        return False

    # 转换为HSV色彩空间(比RGB更抗光照干扰,颜色筛选更准确)
    hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

    # 定义红色的HSV阈值(红色分两段:0-10 和 170-180,适配所有红色系)
    # 饱和度S≥100、明度V≥80:过滤淡红/浅红,只识别有效红色(可按需调低)
    lower_red1 = np.array([0, 100, 80])
    upper_red1 = np.array([10, 255, 255])
    lower_red2 = np.array([170, 100, 80])
    upper_red2 = np.array([180, 255, 255])

    # 生成红色掩码(白色=红色像素,黑色=非红色像素)
    mask1 = cv2.inRange(hsv, lower_red1, upper_red1)
    mask2 = cv2.inRange(hsv, lower_red2, upper_red2)
    red_mask = mask1 + mask2  # 合并两段红色掩码

    # 统计红色像素数量,大于0则判定有红色
    red_pixel_num = np.sum(red_mask > 0)
    has_red = red_pixel_num > 0

    # 可视化:在原图上标注红色区域(红色框选,方便直观验证)
    # 查找红色区域的轮廓
    contours, _ = cv2.findContours(red_mask, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE)
    # 遍历轮廓,画出红色矩形框
    for cnt in contours:
        x, y, w, h = cv2.boundingRect(cnt)
        cv2.rectangle(img, (x, y), (x+w, y+h), (0, 0, 255), 2)  # BGR(0,0,255)=红色

    # 打印检测结果
    if has_red:
        print(f"✅ 图片中检测到红色,红色像素总数:{red_pixel_num}")
    else:
        print("❌ 图片中未检测到红色")

    # 显示标注后的图片(按任意键关闭窗口)
    cv2.imshow("Red Detection Result", img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

    return has_red

# ------------------- 主程序调用 -------------------
if __name__ == "__main__":
    # ********** 仅需修改这里的图片路径 **********
    IMAGE_FILE = "test.jpg"  # 替换为你的图片名/路径
    detect_red_in_image(IMAGE_FILE)

屏幕截图 2026-04-19 003455

2025010102 沈玉婷

找一个整数加上100和268都是完全平方数

n=int(input("请输入一个整数:"))
# 找一个整数,加上100和268都是完全平方数
for num in range(1, n+1):
    # 计算加100和268后的结果
    sum1 = num + 100
    sum2 = num + 268

    # 开平方
    sqrt1 = sum1 ** 0.5
    sqrt2 = sum2 ** 0.5

    # 判断开平方后是不是整数(是整数就是完全平方数)
    if sqrt1 == int(sqrt1) and sqrt2 == int(sqrt2):
        print("这个数是:", num)

 屏幕截图 2026-04-19 141107

 2025010103黄俊

0 1 2 3组成的不重复三位数的偶数

nums = []
for a in range(1, 4):      # 百位
    for b in range(4):     # 十位
        for c in [0, 2]:   # 个位
            if a != b and b != c and a != c:
                nums.append(a * 100 + b * 10 + c)

print(nums)

屏幕截图 2026-04-28 213231

 

2025010104许乐乐

一串字符统计中文英文符号数字的多少

image

image

 2025010106钟海洋                                                                                                                                                                                                         

import itertools

# 甲:A B C 依次对阵 乙的一个排列
count = 0

for pairing in itertools.permutations(['X', 'Y', 'Z']):
    # A vs pairing[0], B vs pairing[1], C vs pairing[2]
    A_vs, B_vs, C_vs = pairing

    # 条件:a不和x比赛
    if A_vs == 'X':
        continue

    # 条件:c不和x、z比赛
    c_not_vs = ['X', 'Z']
    if C_vs in c_not_vs:
        continue

    # 符合条件
    count += 1
    print(f'A对战{A_vs},B对战{B_vs},C对战{C_vs}')

print(f'\n总共有 {count} 种比赛方法')

屏幕截图 2026-04-19 212928

 2025010109 叱干育

6dce2b74060d5a60bab5642ab64de30b

 

5bb6c119a4fdf704912e30f0e258cc3b

 

2025010107孙瑞妍

小球从高处落下反弹的总高度

initial = 10
n = int(input("输入反弹次数n:"))
s = initial + 10 * (1 - (1/2)**n)
print(f"总距离:{s:.2f} 米")

屏幕截图 2026-04-21 101306

 2025010109 黄帅豪

gif动画 欢迎

import tkinter as tk
from PIL import Image, ImageTk
import threading
import time

def show_welcome_gif(gif_path="welcome.gif"):
    try:
        root = tk.Tk()
        root.title("欢迎使用")
        img = Image.open(gif_path)
        frames = []
        try:
            while True:
                frames.append(ImageTk.PhotoImage(img.copy()))
                img.seek(len(frames))
        except EOFError:
            pass
        label = tk.Label(root)
        label.pack()
        def update_frame(idx=0):
            label.config(image=frames[idx])
            idx = (idx + 1) % len(frames)
            root.after(100, update_frame, idx)
        update_frame()
        root.after(2000, root.destroy)
        root.mainloop()
    except Exception:
        print("=" * 30)
        print("    欢迎使用 10086 自助查询系统")
        print("=" * 30)

welcome_thread = threading.Thread(target=show_welcome_gif)
welcome_thread.daemon = True
welcome_thread.start()
time.sleep(0.5)

# 原有查询代码
print("10086查询功能\n")
print("输入1,查询当前余额")
print("输入2,查询当前剩余流量")
print("输入3,查询当前剩余通话")
print("输入0,退出自助查询系统!")

yue = 999
liuliang = 5
minute = 189

while True:
    try:
        ask = int(input("请输入选项: "))
    except ValueError:
        print("请输入数字!")
        continue

    if ask == 1:
        print("当前余额为:" + str(yue) + "元")
    elif ask == 2:
        print("当前剩余流量为:" + str(liuliang) + "G")
    elif ask == 3:
        print("当前剩余通话为:" + str(minute) + "分钟")
    elif ask == 0:
        print("退出自助查询系统!")
        break
    else:
        print("无效选项,请重新输入")

image

 2025010110 王义刚

86692d7aa0ed62372490b07aa10bc18a

 

2025010112 王怡萱

登录 次数小于3

correct_user = "111"
correct_pwd = "123456"

count = 0

while True:

    if count >= 3:
        print("登录次数过多,禁止访问")
        break

    username = input("请输入账号:")
    password = input("请输入密码:")
    count += 1

    if username == correct_user and password == correct_pwd:
        print("登录成功,正在跳转网址...")

        break
    else:
        print(f"账号或密码错误,还剩{3 - count}次机会")

f3153e3dcbb82552afc96f275c9a3fb3

 

2025010113 石蕊鑫

求100—200之间的质数

import math
def is_prime(num):
    """判断一个数是否为质数"""
    if num < 2:
        return False
    if num == 2:
        return True
    if num % 2 == 0:
        return False
    limit = int(math.sqrt(num)) + 1
    for i in range(3, limit, 2):
        if num % i == 0:
            return False
    return True
primes = []
for n in range(100,200):
    if is_prime(n):
        primes.append(n)
print("100-200之间的质数有:")
print(primes)

  

屏幕截图 2026-04-22 115944

 

 2025010114殷佳锐

# 定义两个科目参加的人
chinese = ["张三", "李四", "王五", "赵六"]
math = ["李四", "钱七", "孙八", "张三"]
# 用来存同时参加两门的人
both = []
# 用 for 循环遍历语文列表
for name in chinese:
# 判断这个人是否也在数学列表里
     if name in math:
         both.append(name)
print("同时参加语文和数学的人:", both)

微信图片_20260422120222_303_53

2025010115  康静茹

建立一个字典,使用for循环统计学院系的个数以及名称

# 1. 多学院原始数据
college_departments = {
    "数学与统计学院": ["基础数学系", "应用数学系", "统计学系", "金融数学系"],
    "信息工程学院": ["计算机系", "电子工程系"],
    "理学院": ["物理系", "化学系"]
}

# 2. 用for循环建立统计字典
college_stats = {}

for college, departments in college_departments.items():
    stats = {
        "系个数": len(departments),
        "系的名称": ", ".join(departments)
    }
    college_stats[college] = stats

# 3. 输出表格
print("学院名称       | 系个数 | 系的名称")
print("-" * 70)
for college, info in college_stats.items():
    print(f"{college:12} | {info['系个数']:4} | {info['系的名称']}")

局部截取_20260510_233802

2025010117  李欣栎

汇总一个购物单,单价在1000元以上

# 购物单数据
shopping = [
    {"名称": "笔记本电脑", "单价": 5999, "数量": 1},
    {"名称": "鼠标", "单价": 120, "数量": 1},
    {"名称": "显示器", "单价": 1800, "数量": 1},
    {"名称": "键盘", "单价": 300, "数量": 1},
    {"名称": "平板", "单价": 2600, "数量": 1}]
result = []      # 用来存放单价1000以上的商品
for goods in shopping:      # 遍历购物单
    price = goods["单价"]
    # 判断单价是否大于1000
    if price > 1000:
        result.append(goods)
print("单价大于1000元的商品汇总:")
for item in result:
    print("名称:", item["名称"], " 单价:", item["单价"], " 数量:", item["数量"])

1be636caf0dd127be56555df961ca33e

2025010118  陈影

已知入射角 折射率求折射角

import math
# 介质折射率
n2_dict = {"水":1.33, "冰":1.31, "酒精":1.36, "玻璃":1.52, "钻石":2.42}
n1 = 1.00
# 计算折射角
def refract(angle1, n2):
    s = (n1 / n2) * math.sin(math.radians(angle1))
    if abs(s) > 1:
        return "全反射"
    return round(math.degrees(math.asin(s)), 2)
# 主程序
angle = float(input("输入入射角(度):"))
print("\n折射结果:")
for name, n2 in n2_dict.items():
    print(f"空气→{name}:{refract(angle, n2)}°")

image

 

2025010119 淡郑雪

由星号组成菱形

# 设置菱形的边长(奇数,边长决定菱形大小)
size = 7

# 打印上半部分(包括中间行)
for i in range(size // 2 + 1):
    # 打印空格
    print(" " * (size // 2 - i), end="")
    # 打印星号
    print("*" * (2 * i + 1))

# 打印下半部分
for i in range(size // 2 - 1, -1, -1):
    print(" " * (size // 2 - i), end="")
    print("*" * (2 * i + 1))

 

0b58b59dfe5d589bb23f01df7718ed80

2025010121郑舒萍

把图片变成灰度图

import tkinter as tk
from tkinter import filedialog

# 弹出选择图片
tk.Tk().withdraw()
path = filedialog.askopenfilename()

# 读取图片转灰度
img = tk.PhotoImage(file=path)
w, h = img.width(), img.height()
gray = tk.PhotoImage(width=w, height=h)

# 遍历像素变灰度
for x in range(w):
    for y in range(h):
        r,g,b = img.get(x,y)
        gary = int(0.299*r + 0.587*g + 0.114*b)
        gray.put(f"#{gary:02x}{gary:02x}{gary:02x}", (x,y))

# 保存
gray.write("灰度图.png")
print("搞定!已经生成灰度图.png")

 屏幕截图 2026-05-10 232433

屏幕截图 2026-05-10 232320

 

 2025010122田昌盛

import os

# 这里改成你要查的文件夹路径
folder_path = r"D:\你的文件夹路径"

count = 0

for filename in os.listdir(folder_path):
    if "实战" in filename:
        count += 1

print(f'包含“实战”的文件数量:{count}')

 

屏幕截图 2026-05-10 160219

 

 

 

2025010124 胡鑫

    for循环冒泡排序

arr = [5, 2, 9, 1, 5, 6]
n = len(arr)

# 两层for循环
for i in range(n-1):
    for j in range(n-1-i):
        if arr[j] > arr[j+1]:
            arr[j], arr[j+1] = arr[j+1], arr[j]

print(arr)

截屏2026-04-22 11.31.35

 

 2025010125 刘芮孜

from itertools import permutations

# 乙队成员
team_y = ['X', 'Y', 'Z']
count = 0
result = []

# 遍历乙队所有全排列,代表 A,B,C 依次对阵的对手
for p in permutations(team_y):
    A_vs, B_vs, C_vs = p
    # 约束条件
    cond1 = (A_vs not in ['Y', 'Z'])  # A不能对Y、Z
    cond2 = (B_vs != 'X')             # B不能对X
    if cond1 and cond2:
        count += 1
        result.append(f"A→{A_vs}, B→{B_vs}, C→{C_vs}")

print("符合条件的所有排列:")
for item in result:
    print(item)
print(f"\n总排列方法数:{count}")

排列

2025010127 刘杨龙

矩阵求逆矩阵

import numpy as np

# 1. 定义一个方阵(必须是方阵才能求逆矩阵!)
matrix = np.array([[1, 2],
                   [3, 4]])

# 2. 求逆矩阵(核心一行代码)
inverse_matrix = np.linalg.inv(matrix)

# 3. 输出结果
print("原矩阵:")
print(matrix)
print("逆矩阵:")
print(inverse_matrix)

{E8FF6402-1E0F-4A0F-B884-2B8741293371}

2025010128   贾姝慧

直角坐标系中一条直线到三点距离和的最小值

import math

# 定义平面上3个固定点
p1 = (1, 2)
p2 = (5, 3)
p3 = (2, 6)

# 点到直线距离公式函数
def dis(x0, y0, a, b, c):
    return abs(a*x0 + b*y0 + c) / math.sqrt(a**2 + b**2)

# 计算3个点到这条直线的距离总和
def total(a, b, c):
    d1 = dis(p1[0], p1[1], a, b, c)
    d2 = dis(p2[0], p2[1], a, b, c)
    d3 = dis(p3[0], p3[1], a, b, c)
    return d1 + d2 + d3

# 初始化:先把最小值设成无穷大
min_sum = float('inf')
best_a = best_b = best_c = 0

# 遍历所有简单的直线
for a in (-1, 0, 1):
    for b in (-1, 0, 1):
# a、b都为0不是直线,直接跳过
        if a == 0 and b == 0:
            continue
        # 遍历直线上下移动的位置c
        for c in range(-8, 9):
            # 算出当前这条直线的总距离
            s = total(a, b, c)
            # 如果更小,就更新最小值和最优直线
            if s < min_sum:
                min_sum = s
                best_a, best_b, best_c = a, b, c

# 输出最终结果
print("最优直线:",best_a,"x +",best_b,"y +",best_c,"= 0")
print("最小距离总和:",round(min_sum,2))

 

屏幕截图 2026-04-22 113039

2025010130 任鸿杰

nums = [5, 2, 9, 1, 7, 3, 8]
num = int(input("请输一个整数:"))
nums.append(num)
n = len(nums)
for i in range(n):
    #两个两个挨着比大小
    for j in range(n - 1 - i):
        # 左边数字 比 右边大
        if nums[j] > nums[j+1]:
            nums[j], nums[j+1] = nums[j+1], nums[j]

print("从小到大排序:")
for a in nums:
    print(a, end=" ")

 

屏幕截图 2026-04-29 110612

 

 

 

2025010131董玥卓

矩阵的乘法

# 定义第一个 3×3 矩阵 A
A = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9]
]

# 定义第二个 3×3 矩阵 B
B = [
    [1, 0, 0],
    [0, 1, 0],
    [0, 0, 1]
]

# 初始化 3×3 结果矩阵,全部先填0
C = [[0, 0, 0], [0, 0, 0], [0, 0, 0]]

# 矩阵乘法三层循环
for i in range(3):
    for j in range(3):
        for k in range(3):
            C[i][j] = C[i][j] + A[i][k] * B[k][j]

# 打印结果
print("矩阵 A × B 的结果:")
for row in C:
    print(row)

 屏幕截图 2026-04-23 225126

 

 2025010132李佳雨

小球下落

 1 # 初始化变量
 2 height = 100  # 初始下落高度
 3 distance = 100  # 总路程,第一次直接落下100米
 4 count = 0  # 反弹次数
 5 
 6 # 循环:高度大于等于1米就继续反弹
 7 while height >= 1:
 8     height = height * 0.5  # 反弹高度变为原来50%
 9     count += 1  # 反弹次数+1
10     distance += 2 * height  # 反弹上去+再落下,一来一回双倍路程
11 
12 # 输出结果
13 print("反弹次数:", count)
14 print("总路程:", distance)

屏幕截图 2026-04-22 114254

 

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