体育老师带你玩转Python编程(上篇)

liftword2个月前 (03-16)技术文章8

吹响集合哨!现在开始《上篇:编程运动装备室》正式训练!


第一课:变量——运动器材管理智慧

体育老师解说:

"变量就像体育馆的储物柜,每个柜子要有专属名牌(变量名),只能存放指定类型的器材(数据类型)。体育委员每天要检查柜门是否关好(变量赋值),就像我们编程要规范使用变量"

核心训练:

# 器材柜登记示例
篮球柜 = 5      # int型(存整数)→ 篮球数量
排球柜 = "8号"  # str型(存文字)→ 排球编号
沙包区 = 3.5    # float型(存小数)→ 沙包重量(kg)

# 错误示范
3号柜 = "跳绳"   # 变量名不能以数字开头(违反储物柜命名规则)
跳高垫 = 铅球    # 未加引号会报错(铅球不是已定义的变量)

储物柜使用守则:

  1. 命名三原则
  • 见名知意(如跳远成绩比abc好)
  • 只用字母/数字/下划线(禁止!@等特殊符号)
  • 区分大小写(篮球和LQ是两个柜子)
  1. 器材存放规范数据类型体育类比示例int跳绳计数跳绳次数 = 158float50米跑成绩50米成绩 = 7.5str运动员编号运动员 = "初三2班王伟"bool是否参加比赛参赛状态 = True

随堂训练:

# 任务:建立你的体育器材管理系统
立定跳远最佳成绩 = 2.3    # 创建浮点型变量
训练口号 = "更高更快更强"  # 创建字符串变量
引体向上次数 = 12         # 创建整型变量
是否达标 = True           # 创建布尔型变量

print("今日训练档案:")
print("引体向上次数:", 引体向上次数)
print("是否达标:", "是" if 是否达标 else "否")

第二课:输入输出——体测数据交互

体育老师解说:

"input()就像肺活量测试时对着仪器吹气,需要你主动提供数据;print()好比体育委员把成绩写在公告栏,让所有人都能看到结果"

核心训练:

# 体测数据采集系统
姓名 = input("请输入姓名(如张三):")
肺活量 = int(input("吹气成绩(毫升):"))  # 强制转换为整数
视力 = float(input("左眼视力(如5.0):"))

print("\n=== 体测成绩单 ===")
print(f"姓名:{姓名}")
print("肺活量:" + str(肺活量) + "ml")  # 字符串拼接
print("视力:", 视力)

输入输出技巧:

  1. 类型转换四式
  • int():把字符串转为整数(如体测次数)
  • float():转为小数(如跑步成绩)
  • str():转为文本(如拼接成绩单)
  • eval():智能转换(慎用!相当于未检查器材直接使用)
  1. 格式化输出秘籍
   # 三种输出方式对比
   print("百米成绩:", 12.5, "秒")          # 逗号拼接法
   print("百米成绩:" + str(12.5) + "秒")   # 字符串连接法
   print(f"百米成绩:{12.5}秒")             # f-string(推荐!)

随堂训练:

# 任务:制作运动会报名表
print("==== 运动会报名 ====")
项目 = input("请选择项目(1跳远 2铅球 3接力):")
班级 = input("你的班级(如初三1班):")
最好成绩 = input("该项目个人最好成绩:")

print(f"\n{班级}的运动员已报名:")
print("参赛项目:" + ["跳远", "铅球", "接力"][int(项目)-1])
print("历史最佳:",最好成绩)

第三课:基本运算——运动成绩计算

体育老师解说:

"Python的运算符号就像体育比赛的计分规则,加减乘除控制数据变化,比较运算符决定胜负关系,逻辑运算符像裁判的组合判罚"

核心训练:

# 篮球比赛计分系统
三分球 = 5
两分球 = 8
罚球 = 3
总得分 = 3*三分球 + 2*两分球 + 1*罚球

# 比较运动员成绩
张三跳远 = 2.5
李四跳远 = 2.7
print("李四更远吗?", 李四跳远 > 张三跳远)  # 输出True

# 体能训练达标判断
仰卧起坐 = 45
跑步时间 = 7.2
达标 = (仰卧起坐 >= 40) and (跑步时间 <= 8.0)
print("综合达标:", "通过" if 达标 else "加练")

第四课:数据结构——运动队组织艺术

体育老师解说:

"列表就像田径队的队员队列,字典如同运动员档案册,集合好比不允许重复的参赛编号。合理组织数据就像排兵布阵,直接影响比赛效率"

核心训练:

# 篮球队员名单(列表)  
首发阵容 = ["中锋", "大前锋", "小前锋", "得分后卫", "控球后卫"]  
替补名单 = ["第六人", "新秀", "老将"]  

# 运动员档案(字典)  
王伟 = {  
    "班级": "初三2班",  
    "项目": ["跳远", "100米"],  
    "最好成绩": {"跳远": 2.5, "100米": 12.8}  
}  

# 比赛编号管理(集合)  
已使用号码 = {10, 23, 45}  
新号码 = {23, 66}  
有效号码 = 新号码 - 已使用号码  # 结果为{66}  

数据结构使用规范:

类型

体育类比

特色功能

列表

接力赛选手顺序

有序可变,append()添加队员

元组

比赛固定规则

有序不可变,如(3,2,1)倒计时

字典

运动员体检报告

键值对快速查询,get()方法

集合

唯一参赛编号

自动去重,集合运算

随堂训练:

# 任务:创建班级运动档案  
班级 = "初三3班"  
跑步成绩 = [12.5, 13.0, 11.9, 14.2]  # 四位同学50米成绩  
运动员档案 = {  
    "班长": {"项目": "跳高", "记录": 1.65},  
    "体育委员": {"项目": "铅球", "记录": 8.2}  
}  

print(f"{班级}最佳跑步成绩:{min(running_scores)}秒")  
print("体育委员参赛项目:", 运动员档案["体育委员"]["项目"])  

第五课:代码注释——训练日志秘籍

体育老师解说:

"注释就像训练日记里的心得笔记,好的注释要让三个月后的自己也能看懂,就像让替补队员能快速理解战术板"

核心训练:

# 体能训练计划生成器(单行注释)  
"""  
训练模块说明:  
1. 根据BMI指数制定计划  
2. 自动生成周训练课表  
"""  # 多行注释  

def 计算_BMI(体重, 身高):  
    '''  
    功能:计算身体质量指数  
    参数:  
        体重 - 千克(kg)  
        身高 - 米(m)  
    返回:BMI数值(浮点型)  
    '''  # 函数文档字符串  
    return 体重 / (身高 ** 2)  

# 示例:小明体检数据  
小明_BMI = 计算_BMI(65, 1.75)  # 结果约21.22  

注释规范三原则:

  1. 战略级注释:文件开头说明整体功能(如同训练大纲)
  2. 战术级注释:复杂逻辑前解释思路(类似技术动作分解)
  3. 子弹级注释:关键变量说明(好比装备使用注意事项)

随堂训练:

# 任务:给下面代码添加体育主题注释  
"""  
运动会跳远成绩管理系统  
版本:1.0  
作者:体育部  
"""  

成绩列表 = []  # 存储所有运动员成绩(单位:米)  

def 录入成绩(姓名, 成绩):  
    '''记录运动员最好成绩并更新排行榜'''  
    if 成绩 > 3.0:  # 校记录保持线  
        print("破纪录警告!")  
    成绩列表.append((姓名, 成绩))  

# 示例数据录入  
录入成绩("张三", 2.85)  
录入成绩("李四", 3.05)  

上篇综合实战:运动会报名系统

# 初始化数据存储  
报名表 = []  
项目列表 = ["100米", "跳远", "铅球", "4x100接力"]  

while True:  
    print("\n=== 运动会报名系统 ===")  
    print("1. 新报名  2. 查看报名表  3. 退出")  
    选择 = input("请选择操作:")  

    if 选择 == "1":  
        姓名 = input("运动员姓名:")  
        print("可选项目:")  
        for i, 项目 in enumerate(项目列表, 1):  
            print(f"{i}. {项目}")  
        项目编号 = int(input("选择项目编号:")) - 1  

        报名表.append({  
            "姓名": 姓名,  
            "项目": 项目列表[项目编号],  
            "班级": input("所在班级:"),  
            "最好成绩": input("个人最佳:")  
        })  
        print("报名成功!")  

    elif 选择 == "2":  
        print("\n=== 当前报名表 ===")  
        for 参赛者 in 报名表:  
            print(f"{参赛者['姓名']}({参赛者['班级']})")  
            print(f"项目:{参赛者['项目']} 最佳:{参赛者['最好成绩']}\n")  

    elif 选择 == "3":  
        print("系统已退出")  
        break  

    else:  
        print("输入错误,请重新选择!")  

项目要点解析:

  1. 循环结构:用while循环维持系统持续运行
  2. 列表存储:报名表列表存储所有字典格式的报名信息
  3. 字典组织:每个参赛者的信息用键值对清晰存储
  4. 流程控制:通过if-elif处理不同操作选择

上篇总结检测:

完成以下任务检验学习成果:

  1. 创建存储全班跳远成绩的列表,找出前三名
  2. 编写包含姓名、年龄、项目的运动员字典
  3. 制作体测BMI计算器,包含输入身高体重功能
  4. 为你写的代码添加战术级注释说明

相关文章

Python6大基础运算符,看完这篇之后会让你有一个彻底认识

昨天我们准备好了Python程序所需要的的东西,那么今天我们开始了解Python的各种基础运算符,这些要是不熟悉下来你后面的路也会走的很艰难Python支持基础运算符,常见的算术运算符有+、-、*、/...

python运算符详解

Python 提供了丰富的运算符,用于执行各种操作,包括算术运算、比较、逻辑判断、位运算等。算术运算符算术运算符是处理四则运算的符号,在数值计算中用到的最多算术运算符比较运算符用于比较运算符两侧两个操...

Python数值和符号算法计算及3D视图物理数学波形方程

要点Python数值和符号计算及3D可视化以下物理方程:物理数学方程分析:二分算法和牛顿-拉夫森算法解方程根。最小二乘法拟合方程和数据。短期傅里叶变换和小波分析非平稳信号。使用主成分分析复杂和大型数据...

Python中的位运算符

Python中的位运算符与其它语言中的位运算符作用相同。位运算符也称二进制运算符,并且这些运算符只用于对整型数进行运算。进行位运算时,整型数被转换为二进制形式,然后位运算符对每位执行有关运算后,将结果...

Python中的运算符详解

当提到Python编程语言时,运算符是非常重要的概念。运算符是用于执行各种操作的特殊符号或符号组合。Python中的运算符用于执行各种算术、赋值、逻辑、比较和位运算。当我们有了数据,就可以通过运算符把...

Python增量运算符:初学者分步指南

不使用Python递增运算符递增变量先看看如何手动增加变量的值,而不使用+=。代码示例:count = 1 # Initializing count with 1 count = count + 2...