第一周

Day 1 - Python 基础入门 & 开发环境搭建
Day 2 - 条件判断、用户输入、格式化输出
Day 3 - 循环语句 + range 函数
Day 4 - 列表 & 元组基础
Day 5 - 字典(dict)与集合(set)
Day 6 - 综合实战:学生信息管理系统

🧾 一周知识回顾(Week 1)

模块内容关键词
Python 入门变量、数据类型、输入输出str, int, float, bool, input(), print()
控制结构分支语句 if-elif-else,比较运算符==, !=, <, >, and, or, not
循环结构for,while,range(),嵌套循环循环变量、break、continue
列表增删查改、遍历、内置函数append(), remove(), sort(), in
综合项目学生信息管理系统字典列表、函数封装、菜单逻辑、保存数据

🧠 自我测试题

✅ 基础题

  1. 写出下面代码的输出结果:

    name = "Alice"
    age = 25
    print(f"{name} 明年 {age + 1} 岁")
    

    输出结果为:

    Alice 明年 26
  2. 判断下面语句是否成立,并说明原因:

    a = 10
    b = 20
    if a > 5 and b < 15:print("True")
    else:print("False")
    

    🔍 条件分析:

    • a > 5
      • a = 10
      • 判断:10 > 5 → ✅ True
    • b < 15
      • b = 20
      • 判断:20 < 15 → ❌ False

    🧠 and 运算符规则:

     - and 要求 两个条件都为 True,整个判断才是 True。- 只要其中一个为 False,结果就是 False。
    

    ✅ 结论:

     - a > 5 and b < 15 的结果是 True and False → False- 所以执行的是 else 分支:
    

    输出结果:

    	False
    

    💬 答案总结:

    该语句不成立,因为 b < 15 是 False。and 运算符要求两个条件都为 True 才整体为 True,因此 else 分支被执行,打印输出 False。

  3. 编写一个程序,输入一个整数,如果大于等于60则输出“及格”,否则输出“不及格”。

    # 获取用户输入
    score = int(input("请输入成绩(整数):"))# 判断成绩是否及格
    if score >= 60:print("及格")
    else:print("不及格")
    
  4. range(1, 10, 2) 生成了哪些数字?

    range(1, 10, 2) 表示从 1 开始,到 小于 10 的数字,每次增加 2,构成一个序列。

    range(start, stop, step)
    
    • start=1:起始值(包含)
    • stop=10:终止值(不包含)
    • step=2:步长,每次加 2

    ✅ 生成的数字:

    1, 3, 5, 7, 9
    

    因为:

     - 1 是起始- 加 2 → 3 ✅- 加 2 → 5 ✅- 加 2 → 7 ✅- 加 2 → 9 ✅- 再加 2 → 11 ❌(超过 stop=10,终止)
    

    📌 输出验证代码:

    for i in range(1, 10, 2):print(i, end=" ")
    

    输出:

    1 3 5 7 9
    

程序设计题

  1. 打印九九乘法表(用嵌套循环)
    示例: 1x1=1 到 9x9=81

    # 九九乘法表
    for i in range(1, 10):  # 外层循环控制行(1~9)for j in range(1, i + 1):  # 内层循环控制列,j <= iprint(f"{j}x{i}={j*i}", end="\t")  # 使用制表符对齐输出print()  # 每一行结束后换行
    

    ✅ 输出结果:

    1x1=1
    1x2=2   2x2=4
    1x3=3   2x3=6   3x3=9
    1x4=4   2x4=8   3x4=12  4x4=16
    1x5=5   2x5=10  3x5=15  4x5=20  5x5=25
    1x6=6   2x6=12  3x6=18  4x6=24  5x6=30  6x6=36
    1x7=7   2x7=14  3x7=21  4x7=28  5x7=35  6x7=42  7x7=49
    1x8=8   2x8=16  3x8=24  4x8=32  5x8=40  6x8=48  7x8=56  8x8=64
    1x9=9   2x9=18  3x9=27  4x9=36  5x9=45  6x9=54  7x9=63  8x9=72  9x9=81
    
  2. 写一个程序统计列表 [90, 87, 76, 65, 88] 中大于80的成绩数量。

    # 成绩列表
    scores = [90, 87, 76, 65, 88]# 计数器
    count = 0# 遍历列表
    for score in scores:if score > 80:count += 1# 输出结果
    print(f"大于80的成绩有 {count} 个")
    

    ✅ 输出结果:

    大于80的成绩有 3

    💡 补充技巧:使用列表推导式也可以实现同样的功能:

    scores = [90, 87, 76, 65, 88]
    count = len([s for s in scores if s > 80])
    print(f"大于80的成绩有 {count} 个")
    
  3. 编写一个循环,要求用户输入学生姓名,直到输入”q”为止,并将所有学生姓名存储在列表中。

    # 创建一个空列表用于存储学生姓名
    students = []print("请输入学生姓名(输入 'q' 退出):")while True:name = input("学生姓名:")if name.lower() == 'q':break  # 如果输入的是 q(不区分大小写),退出循环students.append(name)# 输出所有学生姓名
    print("\n录入的学生姓名如下:")
    for student in students:print(student)
    

    ✅ 示例运行:

    请输入学生姓名(输入 'q' 退出):
    学生姓名:张三
    学生姓名:李四
    学生姓名:王五
    学生姓名:q录入的学生姓名如下:
    张三
    李四
    王五
    

💡 实战项目复盘建议

你已经做出了一个简化版“学生管理系统”,这是你本周的里程碑成果,建议你:
✅ 自己从0再写一次,不参考,锻炼记忆和思维。
✅ 尝试给系统增加功能(如:数据统计、分页查看等)。
✅ 如果你有兴趣,可以加一个简单的登录验证系统。

import math# 登录验证信息
USERNAME = "admin"
PASSWORD = "123456"# 学生列表
students = []# 登录验证函数
def login():print("=== 学生管理系统登录 ===")for _ in range(3):username = input("用户名:")password = input("密码:")if username == USERNAME and password == PASSWORD:print("✅ 登录成功!\n")return Trueelse:print("❌ 用户名或密码错误,请重试。\n")print("⚠️ 登录失败,程序退出。")return False# 添加学生
def add_student():name = input("请输入姓名:")age = int(input("请输入年龄:"))gender = input("请输入性别(男/女):")score = float(input("请输入成绩:"))students.append({"name": name, "age": age, "gender": gender, "score": score})print("✅ 学生添加成功。\n")# 查看学生(分页)
def view_students():if not students:print("⚠️ 暂无学生记录。\n")returnpage_size = 3total = len(students)pages = math.ceil(total / page_size)while True:try:page = int(input(f"请输入要查看的页码(1~{pages}):"))if 1 <= page <= pages:start = (page - 1) * page_sizeend = start + page_sizeprint(f"\n📄 第 {page} 页(共 {pages} 页):")for i, stu in enumerate(students[start:end], start=1):print(f"{start+i}. 姓名:{stu['name']} | 年龄:{stu['age']} | 性别:{stu['gender']} | 成绩:{stu['score']}")print()breakelse:print("⚠️ 页码输入错误!")except ValueError:print("⚠️ 请输入数字页码!")# 查询学生
def search_student():keyword = input("请输入要查询的学生姓名关键词:")found = [stu for stu in students if keyword in stu["name"]]if found:print("\n🔍 查询结果:")for stu in found:print(f"姓名:{stu['name']} | 年龄:{stu['age']} | 性别:{stu['gender']} | 成绩:{stu['score']}")else:print("⚠️ 未找到相关学生。\n")# 删除学生
def delete_student():name = input("请输入要删除的学生姓名:")for stu in students:if stu["name"] == name:students.remove(stu)print("✅ 学生删除成功。\n")returnprint("⚠️ 未找到该学生。\n")# 统计信息
def statistics():if not students:print("⚠️ 暂无学生记录。\n")returntotal = len(students)avg = sum([s["score"] for s in students]) / totalpassed = len([s for s in students if s["score"] >= 60])print(f"\n📊 当前共 {total} 名学生")print(f"🎯 平均成绩:{avg:.2f}")print(f"✅ 及格人数:{passed},及格率:{(passed/total)*100:.1f}%\n")# 主程序
def main():if not login():returnwhile True:print("==== 学生信息管理系统 ====")print("1. 添加学生")print("2. 查看所有学生(分页)")print("3. 查询学生")print("4. 删除学生")print("5. 统计信息")print("6. 退出系统")choice = input("请输入操作编号(1-6):")if choice == '1':add_student()elif choice == '2':view_students()elif choice == '3':search_student()elif choice == '4':delete_student()elif choice == '5':statistics()elif choice == '6':print("👋 退出系统,再见!")breakelse:print("⚠️ 无效的选项,请重新输入。\n")# 启动程序
if __name__ == "__main__":main()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/82606.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/82606.shtml
英文地址,请注明出处:http://en.pswp.cn/pingmian/82606.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pycharm and Flask 的学习心得(9)

request对象&#xff1a; 1. request包含前端发送过来的所有请求数据 将from表单里的内容CV到request里面&#xff0c;可以添加if语句来做判断出请求类型后的操作 在网页上的表单上input的数据&#xff0c;后端如何获取呢&#xff1f; request对象获取前端发送来的数据 // …

设计模式-依赖倒转原则

依赖倒转原则 依赖倒转原则 (Dependency Inversion Principle, DIP) 是面向对象设计中 SOLID 原则的第五个原则。 它包含两条核心思想&#xff1a; 高层模块不应该依赖于低层模块。两者都应该依赖于抽象。 高层模块 (High-level modules): 通常包含复杂的业务逻辑和策略&…

AI赋能引爆短剧全球化风潮,腾讯云媒体处理助力短剧平台出海吸金

2023年&#xff0c;中国短剧市场以全平台8000万日投放、近500亿规模的爆发式增长震惊行业。紧凑的内容、爽快的剧情令国内观众迅速爱上了几分钟一集的微短剧。然而在平台内卷、监管收紧、巨头入场等因素的冲击下&#xff0c;不到两年时间&#xff0c;这条赛道就已陷入红海。但与…

开源第三方库发展现状

摘要&#xff1a;当前&#xff0c;开源第三方库生态正呈现爆发式增长趋势。GitHub 目前已托管超过 4.2 亿个代码仓库&#xff0c;远超早期统计的 1 亿规模&#xff0c;显示出开发者社区的活跃度持续攀升。同时&#xff0c;37 个主流包管理器所维护的开源组件数量可能已达到数千…

服务器开机自启动服务

前言&#xff1a; 将服务器中脚本开启自启动执行 步骤&#xff1a; 1.创建一个 systemd 服务文件: /etc/systemd/system/ 目录下创建一个新的服务文件。例如&#xff0c;命名为 myapp.service&#xff1a; sudo nano /etc/systemd/system/myapp.service2.编写 [Unit] Descri…

采用Bright Data+n8n+AI打造自动化新闻助手:每天5分钟实现内容日更

一、引言 在信息爆炸的时代&#xff0c;作为科技领域的内容创作者&#xff0c;我每天都要花费2-3小时手动收集行业新闻、撰写摘要并发布到各个社群。直到我发现Bright Datan8nAI这套"黄金组合"&#xff0c;才真正实现了从"人工搬运"到"智能自动化&qu…

ROS云课三分钟-3D性能测试supertuxkart和游戏推荐等-国际象棋

ROS云课三分钟-破壁篇GCompris-一小部分支持Edu应用列表-2025-CSDN博客 很多时候&#xff0c;有一种思维定势&#xff0c;将人锁住&#xff0c;人口就是囚。 口人囚~口加人等于囚-CSDN博客 如果突破&#xff0c;跳出问题&#xff0c;再看问题。 这门课程&#xff0c;或者这个平…

学习率及相关优化参数详解:驱动模型高效训练

一、引言 在模型微调的核心参数体系中&#xff0c;优化相关参数是决定训练效率与模型性能的关键变量。它们如同精密机械的齿轮&#xff0c;彼此联动、相互影响&#xff0c;共同调控着模型在参数空间中的搜索路径。本文将围绕学习率、训练轮数、批处理大小、梯度累积和学习率调…

golang 柯里化(Currying)

使用场景&#xff1a;参数在语义上属于不同组&#xff0c;Go 语法无法在单次调用中声明多组可变参数&#xff0c;通过柯里化可以实现分步接收参数。 有的参数是在不同时间段产生&#xff0c;使用Currying可以让函数记住&#xff08;缓存&#xff09;参数&#xff0c;避免应用代…

电脑革命家测试版:硬件检测,6MB 轻量无广告 清理垃圾 + 禁用系统更新

各位电脑小白和大神们&#xff0c;我跟你们说啊&#xff01;有个超牛的东西叫电脑革命家测试版&#xff0c;这是吾爱破解论坛的开发者搞出来的免费无广告系统工具集合&#xff0c;主打硬件检测和系统优化&#xff0c;就像是鲁大师这些软件的平替。下面我给你们唠唠它的核心功能…

R 语言科研绘图第 52 期 --- 网络图-分组

在发表科研论文的过程中&#xff0c;科研绘图是必不可少的&#xff0c;一张好看的图形会是文章很大的加分项。 为了便于使用&#xff0c;本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中&#xff0c;获取方式&#xff1a; R 语言科研绘图模板 --- sciRplothttps://mp.…

EfficientLLM: Efficiency in Large Language Models 高效大模型

目录 第1章&#xff1a;引言第2章&#xff1a;观察与见解2.1 总体观察&#xff08;Overall Observations&#xff09;2.2 从EfficientLLM基准中得出的新见解 第3章&#xff1a;背景3.1 大语言模型&#xff08;LLMs&#xff09;3.2 提升LLMs效率的方法3.2.1 硬件创新3.2.2 软件优…

SFTP工具类实现文件上传下载_

import com.jcraft.jsch.*; import com.jcraft.jsch.ChannelSftp.LsEntry;import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.util.*;/*** SFTP工具类*/ public class SftpFile {static Sessio…

RuoYi前后端分离框架将前端dist资源集成到Jar包中独立部署

一、背景 .NET体系下通常采用服务端渲染(如Razor Pages)或直接包含前端资源,而Java Spring Boot项目虽支持静态资源打包,但Vue CLI工程需要独立的构建流程。主管要求将编译后的Vue工程直接嵌入JAR包中方便维护,本人不推荐这样,原因有三: 第一、Vue CLI需要npm run buil…

基于 Flink+Paimon+Hologres 搭建淘天集团湖仓一体数据链路

摘要&#xff1a;本文整理自淘天集团高级数据开发工程师朱奥老师在 Flink Forward Asia 2024 流式湖仓论坛的分享。内容主要为以下五部分&#xff1a; 1、项目背景 2、核心策略 3、解决方案 4、项目价值 5、未来计划 01、项目背景 1.1 当前实时数仓架构 当前的淘天实时架构是从…

SIGCHLD信号--补充

进程一章讲过用wait和waitpid函数清理僵尸进程,父进程可以阻塞等待子进程结束,也可以非阻 塞地查询是否有子进程结束等待清理(也就是轮询的方式)。采用第一种方式,父进程阻塞了就不 能处理自己的工作了;采用第二种方式,父进程在处理自己的工作的同时还要记得时不时地轮询一 下,…

即插即用!全新记忆回溯策略:一种元启发式算法的进化更新机制,含完整免费MATLAB代码

1. 简介 元启发式算法的搜索域总是不断变化&#xff0c;这使得难以适应多样化的优化问题。为了克服上述问题&#xff0c;提出了一种称为记忆回溯策略&#xff08;MBS&#xff09;的进化更新机制&#xff0c;包括思维阶段、回忆阶段和记忆阶段。总体而言&#xff0c;MBS的采用通…

Spring AI框架快速入门

​​前言&#xff1a;在经历了八个里程碑式的版本之后&#xff08;M1~M8&#xff09;&#xff0c;Spring AI 1.0 正式版本&#xff0c;终于在 2025 年 5 月 20 日正式发布&#xff0c;这是另一个新高度的里程碑式的版本&#xff0c;标志着 Spring 生态系统正式全面拥抱人工智能…

Python实战:打造高效通讯录管理系统

&#x1f4cb; 编程基础第一期《8-30》–通讯录管理系统 &#x1f4d1; 项目介绍 在信息化时代&#xff0c;高效管理个人或团队联系人信息变得尤为重要。本文将带您实现一个基于Python的通讯录管理系统&#xff0c;该系统采用字典数据结构和JSON文件存储&#xff0c;实现了联系…

89. Java 数字和字符串 - Math 类深入解析

文章目录 89. Java 数字和字符串 - Math 类深入解析一、引言二、常量与基本方法2.1 Math 类常量2.2 绝对值和舍入绝对值方法舍入方法最小值和最大值 三、指数与对数方法四、三角函数方法五、总结 89. Java 数字和字符串 - Math 类深入解析 一、引言 在 Java 中&#xff0c;除…