版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
AI生成AI生成第2章数据与运算共4个课时
[理论课]L2变量与基本数据类型教学课题变量的概念与赋值;变量命名规则;基本数据类型(int、float、str、bool);类型查看type()函数教学对象师范专业本科生(零基础)教学时数2学时(90分钟)对应教材第2章§2.1-2.2数据与运算(变量概念与命名、基本数据类型)教学目标•理解变量的概念——变量是存储数据的"容器",是给数据起的一个名字•掌握变量的赋值语法,理解"先定义后使用"的原则•掌握Python变量命名规则(字母/下划线开头、区分大小写、不可用关键字等)•能够识别并使用四种基本数据类型:int(整数)、float(浮点数)、str(字符串)、bool(布尔值)•能够使用type()函数查看变量的数据类型•理解字符串的创建方式(单引号、双引号、三引号)和基本操作教学重点与难点重点•变量的概念与赋值操作•四种基本数据类型的特征与区分•变量命名规则与命名规范•type()函数的使用难点•理解"变量是引用/标签"而非"盒子"的概念模型•动态类型语言:同一变量可存储不同类型的数据•整数int与浮点数float的本质区别(3vs3.0)•布尔值bool作为独立数据类型的理解教学过程
温故导入(约8分钟)
回顾上节课input()/print()的内容。提出问题:上节课的问候程序中,用户输入的名字存在哪里?程序怎么"记住"这个名字并在后面使用?引出"变量"概念——变量就像一个贴了标签的盒子,用来存放数据。
变量的概念与赋值(约20分钟)
(1)什么是变量:用生活类比——变量就像学生证上的"姓名栏",栏目的名字是固定的(变量名),但填写的内容可以变化(变量值)。
(2)赋值操作:讲解赋值语句name="张三",强调等号"="在Python中是"赋值"而非"等于"。动画演示赋值过程:等号右边先计算,然后将结果存入左边的变量中。
(3)多次赋值:演示同一个变量可以被反复赋值(覆盖旧值),说明变量的"变"体现在哪里。
(4)同时赋值:介绍Python特有的多元赋值语法a,b=10,20和交换变量a,b=b,a(不需要中间变量),展示Python的简洁优势。
变量命名规则(约12分钟)
逐条讲解Python变量命名规则,配合正反示例:
•以字母或下划线开头(正确:name、_count;错误:2name)
•只包含字母、数字、下划线(正确:score1;错误:my-name)
•区分大小写(Name和name是两个不同的变量)
•不能使用Python关键字(如if、for、print等)
介绍PEP8命名规范建议:变量名用小写字母,多单词间用下划线连接(snake_case),如student_name。提醒学生:好的命名是代码可读性的基础,是专业程序员的基本素养。
基本数据类型(约25分钟)
(1)整数int:讲解整数类型,包括正整数、负整数和零。通过type()查看验证。演示大整数(Python可处理任意大小的整数,这是Python的一大优势)。
(2)浮点数float:讲解带小数点的数。演示科学计数法表示(如1.5e3=1500)。指出浮点数的精度问题(0.1+0.2不完全等于0.3),但不需深入讲解IEEE754标准。
(3)字符串str:讲解字符串的三种创建方式(单引号、双引号等价使用;三引号用于多行字符串)。介绍字符串常见操作:拼接(+)、重复(*)、索引访问(s[0])。强调字符串是不可变类型。
(4)布尔值bool:讲解True和False两个布尔值(注意大小写)。说明布尔值在条件判断中的核心作用,它是后续学习if语句的基础。演示bool()函数对其他类型的转换规则(0为False,非零为True;空字符串为False,非空为True)。
综合示例与互动(约15分钟)
编写一个"学生信息"综合示例:创建多个不同类型的变量存储学生信息(姓名str、年龄int、身高float、是否团员bool),用print()和type()逐一展示。邀请学生一起设计一个"班级信息"的变量集合,练习创建不同类型的变量并用type()验证。
课堂总结与作业布置(约10分钟)
总结:变量是存储数据的标签;四种基本类型各有所用;命名要遵循规则和规范。预告下节课将学习运算符与表达式——如何对变量中的数据进行计算和处理。
代码示例#变量的赋值与使用
student_name="李明"#str字符串
age=20#int整数
height=1.75#float浮点数
is_member=True#bool布尔值
#用type()查看类型
print(type(student_name))#<class'str'>
print(type(age))#<class'int'>
print(type(height))#<class'float'>
print(type(is_member))#<class'bool'>
#Python特有的变量交换
a=10
b=20
print("交换前:",a,b)
a,b=b,a#一行代码完成交换
print("交换后:",a,b)
#字符串操作
first_name="张"
last_name="三"
full_name=first_name+last_name
print(full_name)#张三
print("哈"*3)#哈哈哈课堂练习1.判断以下变量名是否合法,不合法的说明原因:my_name、2nd_place、class、_score、student-age、Score。2.创建变量存储以下信息,并用type()验证数据类型是否正确:学号"20230101"(str)、数学成绩95.5(float)、英语成绩88(int)、是否通过"是"(思考:用什么类型合适?)。3.用字符串拼接和重复操作,生成输出"============期末成绩单============"。课后作业1.编写一个程序:定义5个变量分别存储你的姓名(str)、年龄(int)、身高(float)、近视(bool)、最喜欢的课程(str),用print()输出这些信息,并在每条输出中附带type()结果。2.在IDLE交互模式中依次输入type(3)、type(3.0)、type("3")、type(True),记录输出结果,总结四种类型的表示方式。3.思考题:如果执行a=10;a="hello";print(type(a)),结果是什么?这说明了Python语言的什么特点?教学反思
教学提示:变量概念是编程学习的第一个"门槛",部分学生可能难以理解"变量名"与"变量值"的关系。建议用"标签贴纸"类比:变量名是标签,值是物品,标签可以撕下来贴到别的物品上。Python是动态类型语言,这与C/Java等静态类型语言不同,但此处无需对比讲解,避免增加认知负担。浮点数精度问题点到为止,不必展开。bool类型虽然简单,但强调它是后续条件判断的基础,要让学生重视。
──────────────────────────────────────────────────[理论课]L3运算符与表达式教学课题算术运算符(+、-、*、/、//、%、**);赋值运算符与复合赋值;类型转换(int()、float()、str()、bool());input()/print()进阶(f-strings格式化输出)教学对象师范专业本科生(零基础)教学时数2学时(90分钟)对应教材第2章§2.3-2.4数据与运算(运算符、类型转换、输入输出)教学目标•掌握Python的算术运算符:加(+)、减(-)、乘(*)、除(/)、整除(//)、取余(%)、幂运算(**)•理解不同除法运算符的区别:/返回浮点数,//返回整数商,%返回余数•掌握赋值运算符及复合赋值运算符(+=、-=、*=等)•掌握类型转换函数int()、float()、str()、bool()的用法,能解决input()返回字符串的问题•掌握print()格式化输出,重点掌握f-strings语法•能够综合运用运算符和类型转换编写简单的计算程序教学重点与难点重点•七种算术运算符的使用与区别•整除//与取余%的实际应用(如判断奇偶、分秒转换)•类型转换:字符串与数值的相互转换•f-strings格式化输出难点•整除//和取余%的运算规则与生活应用联系•input()返回字符串——"23"+"5"不等于28的困惑•隐式类型转换与显式类型转换的理解•运算符优先级与结合性的记忆教学过程
温故导入:数据的"运算"需求(约8分钟)
回顾上节课四种数据类型。提出问题:有了数据之后,如何进行计算?小学数学中的加减乘除,在Python中怎么表达?引出"运算符"和"表达式"的概念。给出一个生活场景:计算购物总价(单价x数量),引发学生对运算需求的共鸣。
算术运算符详解(约25分钟)
(1)基础四则运算:+(加)、-(减)、*(乘)、/(除)。注意/在Python3中总是返回浮点数,即使10/2结果是5.0而非5。与数学中的整数除法做对比。
(2)整除//:地板除,返回商的整数部分(向下取整)。示例:7//2=3、-7//2=-4。结合"分苹果"生活场景理解:7个苹果分给2人,每人3个。
(3)取余%:返回除法的余数。示例:7%2=1、10%3=1。重点应用场景:判断奇偶(n%2==0则为偶数)、时间单位转换(总秒数转换为分和秒)。
(4)幂运算**:a**b表示a的b次方。示例:2**10=1024、9**0.5=3.0。
(5)运算符优先级:**>正负号>*///%>+-,括号优先。建议多用括号,少记优先级。
赋值运算符与复合赋值(约10分钟)
复习基本赋值运算符=。介绍复合赋值运算符:+=、-=、*=、/=、//=、%=、**=。通过对比展示简化效果:count=count+1等价于count+=1。强调复合赋值运算符是"简写语法",让代码更简洁。演示一个累加计数器的例子,让学生看到复合赋值在实际编程中的频繁使用。
类型转换(约20分钟)
(1)问题引入:演示一个"陷阱"——用input()获取两个数字求和,结果却不是数学运算而是字符串拼接:"23"+"5"="235"。解释input()始终返回字符串类型。
(2)显式类型转换:介绍四个类型转换函数——int()将值转为整数、float()转为浮点数、str()转为字符串、bool()转为布尔值。
(3)转换规则与限制:int("23")可以,但int("hello")会报错。float("3.14")可以,float("abc")不行。str(123)得到"123"。
(4)综合应用:编写一个"输入两个数求和/差/积/商"的完整程序,演示如何将input()获得的字符串转换为数值后再运算。这是学生第一次编写具有实际计算功能的完整程序。
f-strings格式化输出(约17分钟)
对比字符串拼接的繁琐:"姓名:"+name+",年龄:"+str(age)。引入f-strings(Python3.6+):在字符串前加f,用花括号{}嵌入变量或表达式。f"姓名:{name},年龄:{age}"。演示f-strings的高级用法:在{}中放表达式f"{a}+{b}={a+b}"、格式控制f"{pi:.2f}"(保留2位小数)。通过对比让学生体会f-strings的简洁与强大。
综合案例:计算器程序(约10分钟)
编写一个简易计算器:用户输入两个数字,程序输出四则运算和整除、取余的结果。综合运用input()、类型转换、算术运算、f-strings。展示完整的程序代码,强调程序的结构和可读性。
代码示例#整除与取余的实际应用:秒数转换为分和秒
total_seconds=135
minutes=total_seconds//60#整除得到分钟数
seconds=total_seconds%60#取余得到剩余秒数
print(f"135秒={minutes}分{seconds}秒")
#类型转换解决input()问题
a=input("请输入第一个数:")
b=input("请输入第二个数:")
a=int(a)#将字符串转换为整数
b=int(b)
print(f"{a}+{b}={a+b}")
print(f"{a}/{b}={a/b:.2f}")
print(f"{a}//{b}={a//b}")
print(f"{a}%{b}={a%b}")
#幂运算与数学常数
print(f"2的10次方={2**10}")#1024
print(f"9的平方根={9**0.5}")#3.0
print(f"圆的面积(pi*5^2)={3.14159*5**2:.2f}")课堂练习1.不使用程序,先口算以下表达式的结果,然后在IDLE中验证:17//5、17%5、-7//2、2**8、100//7%5。2.编写程序:输入一个三位正整数,分别输出其百位、十位、个位数字(提示:利用//和%)。3.编写程序:输入总分钟数(如127分钟),输出对应的"X小时X分钟"格式。课后作业1.编写"简易计算器"程序:输入两个数和一个运算符(+、-、*、/),输出运算结果。使用f-strings格式化输出。2.编写"温度转换"程序:输入摄氏温度,输出对应的华氏温度(公式:F=C*9/5+32),保留2位小数。3.编写"成绩等级"准备程序:输入三个科目的成绩(整数),计算总分和平均分(保留1位小数),用f-strings格式化输出。教学反思
教学提示:本节课内容密度较大,建议合理分配时间。整除和取余是后续循环和条件判断的重要工具(如奇偶判断、数位分离),务必让学生充分理解并练习。input()返回字符串是初学者最常见的"坑",要反复强调并通过错误案例加深印象。f-strings是Python推荐的格式化方式,应作为重点教学,%格式化和.format()可简单提及但不作为教学重点。运算符优先级不建议让学生死记硬背,强调"多用括号"的编程习惯。
──────────────────────────────────────────────────[实践课]P2变量与运算综合练习实践课题变量的定义与命名规则、Python基本数据类型(int/float/str/bool)、类型转换函数的使用教学对象师范专业本科生(零基础)教学时数2学时(90分钟)实践环境计算机机房,预装Python3.x实践目标•掌握变量的定义、赋值与命名规则(标识符规范)•能够使用type()函数检测数据类型,理解int、float、str、bool四种基本类型•掌握int()、float()、str()、bool()类型转换函数的正确用法•理解动态类型特性:同一变量可以先后绑定不同类型的值•能运用所学知识编写简单的数据类型判断与转换程序实践内容与步骤
变量的定义与命名练习(约15分钟)
(1)在IDLE交互模式中,依次定义以下变量并观察:
>>>student_name="张三"
>>>age=20
>>>score=95.5
>>>is_passed=True
(2)尝试以下非法命名,观察报错信息并分析原因:
2name="李四"(数字开头)
my-name="王五"(含连字符)
class="一班"(使用关键字)
(3)教师总结Python变量命名规则:字母/下划线开头、不含空格和特殊符号、区分大小写、不与关键字重名。
数据类型检测实验(约15分钟)
(1)使用type()函数检测以下值和变量的类型:
>>>type(42)
>>>type(3.14)
>>>type("Hello")
>>>type(True)
>>>type(0)
>>>type("")
(2)讨论:type(0)与type(False)的结果有何不同?在Python中,bool是int的子类。
(3)记录实验结论,填写"数据类型对照表"。
类型转换实践(约20分钟)
(1)在交互模式中逐一尝试以下转换并记录结果:
>>>int("123")#字符串→整数
>>>float("3.14")#字符串→浮点数
>>>str(42)#整数→字符串
>>>bool(0)#整数→布尔值
>>>bool("")#字符串→布尔值
>>>bool("Hello")#非空字符串→布尔值
(2)尝试"危险"转换,观察报错:
int("abc")
int("3.14")
(3)讨论:哪些转换会报错?如何处理?先转float再转int是否可行?
(4)教师总结类型转换规则与注意事项。
动态类型特性实验(约10分钟)
(1)在交互模式中执行以下操作:
>>>x=100
>>>print(type(x))
>>>x="一百"
>>>print(type(x))
>>>x=True
>>>print(type(x))
(2)讨论:Python的"动态类型"与"强类型"是什么意思?"3"+3能运行吗?
(3)与Java/C语言进行简单对比,加深理解。
综合练习:学生成绩分析器(约15分钟)
编写脚本score_analyzer.py:
#学生成绩分析器
#输入:姓名和三门课成绩(字符串形式输入)
name=input("请输入学生姓名:")
chinese=input("请输入语文成绩:")
math=input("请输入数学成绩:")
english=input("请输入英语成绩:")
#类型转换:字符串→整数
chinese=int(chinese)
math=int(math)
english=int(english)
#计算总分和平均分
total=chinese+math+english
average=total/3
#输出结果
print(f"{name}的成绩报告:")
print(f"总分:{total},平均分:{average:.1f}")
(1)运行程序,输入测试数据,验证输出结果。
(2)思考:如果不做类型转换直接相加会怎样?
(3)思考:average的类型是什么?为什么?
自由探索与答疑(约15分钟)
(1)完成实践任务书。
(2)教师巡视指导,解答学生疑问。
(3)鼓励学有余力的同学尝试拓展挑战。
(4)教师总结:变量命名的规范性、类型转换的重要性、避免类型混用。
实践任务书
任务:智能温度转换器
编写一个Python程序,实现华氏温度与摄氏温度之间的双向转换。用户可以选择转换方向并输入温度值,程序输出转换结果。
要求:
使用input()获取用户输入(转换方向和温度值)
正确使用int()或float()进行类型转换
转换公式:摄氏=(华氏-32)×5/9;华氏=摄氏×9/5+32
输出结果保留两位小数
代码中包含注释说明每一步的作用
参考代码#智能温度转换器
print("温度转换器")
print("1—摄氏转华氏")
print("2—华氏转摄氏")
choice=input("请选择转换方向(输入1或2):")
ifchoice=="1":
celsius=float(input("请输入摄氏温度:"))
fahrenheit=celsius*9/5+32
print(f"{celsius:.2f}°C={fahrenheit:.2f}°F")
elifchoice=="2":
fahrenheit=float(input("请输入华氏温度:"))
celsius=(fahrenheit-32)*5/9
print(f"{fahrenheit:.2f}°F={celsius:.2f}°C")
else:
print("输入有误,请重新运行程序。")评价标准评价维度优秀(90-100)良好(75-89)合格(60-74)变量命名命名规范、见名知义、遵循PEP8风格命名基本规范,能正确赋值变量能使用但有命名不规范的情况类型理解能准确判断所有数据类型,理解动态类型特性能识别四种基本类型能使用type()检测类型类型转换能灵活运用转换函数,处理边界情况能完成基本类型转换在指导下完成类型转换程序功能程序功能完整,输出格式规范,代码有注释程序能正常运行,功能基本完整程序能运行,功能部分实现拓展挑战
编写一个"类型检测器"程序:接收用户输入的一个值,自动判断它属于哪种数据类型(int/float/str/bool),并给出友好提示。提示:可以使用try-except结构尝试将输入转换为不同类型,结合type()函数进行判断。
──────────────────────────────────────────────────[实践课]P3运算符应用与输入输出实践课题算术运算符(幂/取整除/取余)、input/print进阶用法、f-string格式化输出教学对象师范专业本科生(零基础)教学时数2学时(90分钟)实践环境计算机机房,预装Python3.x实践目标•熟练掌握Python算术运算符:+、-、*、/、//(取整除)、%(取余)、**(幂)•理解运算符优先级,能正确书写含多种运算符的复合表达式•掌握input()函数获取用户输入并做类型转换的完整流程•掌握f-string格式化输出的各种用法:变量嵌入、精度控制、对齐方式•能综合运用运算符和输入输出编写实用小程序实践内容与步骤
算术运算符实验(约15分钟)
(1)在IDLE交互模式中,逐一计算以下表达式并记录结果:
>>>7/2#普通除法
>>>7//2#取整除
>>>7%2#取余
>>>2**10#幂运算
>>>(-7)//2#负数取整除(注意向下取整!)
>>>(-7)%2#负数取余
>>>2**0.5#开平方
(2)重点讨论:7//2和int(7/2)结果一样吗?(-7)//2的结果是什么?为什么?
(3)教师强调:Python中"//"是向下取整(floor),而非"向零取整"。
运算符优先级与表达式书写(约10分钟)
(1)先在纸上写出以下表达式的预期结果,再用Python验证:
2+3*4
(2+3)*4
2**3**2
-3**2
(2)讨论:2**3**2的结果为什么是512而非64?(右结合性)
(3)教师总结优先级:**高于*///%高于+-,括号可改变优先级。
取余运算应用:奇偶判断与时间换算(约15分钟)
(1)奇偶判断:
#判断奇偶性
num=int(input("请输入一个整数:"))
ifnum%2==0:
print(f"{num}是偶数")
else:
print(f"{num}是奇数")
(2)时间换算:输入总秒数,输出"X小时X分钟X秒":
#秒数换算为时分秒
total=int(input("请输入总秒数:"))
hours=total//3600
minutes=(total%3600)//60
seconds=total%60
print(f"{total}秒={hours}小时{minutes}分钟{seconds}秒")
(3)思考:取整除"//"和取余"%"在时间换算中分别起了什么作用?
f-string格式化输出进阶(约15分钟)
(1)练习以下f-string格式:
>>>pi=3.14159265
>>>print(f"保留2位小数:{pi:.2f}")
>>>print(f"保留4位小数:{pi:.4f}")
>>>print(f"宽度10右对齐:{'Hello':>10}")
>>>print(f"宽度10左对齐:{'Hello':<10}")
>>>print(f"宽度10居中:{'Hello':^10}")
>>>print(f"千分位分隔:{1000000:,}")
(2)尝试将格式化输出应用到之前的程序中,美化输出效果。
综合练习:购物计算器(约20分钟)
编写脚本shopping.py:
#购物计算器
print("=====购物计算器=====")
price=float(input("请输入商品单价(元):"))
quantity=int(input("请输入购买数量:"))
payment=float(input("请输入支付金额(元):"))
total=price*quantity
change=payment-total
print(f"\n---购物小票---")
print(f"单价:{price:>8.2f}元")
print(f"数量:{quantity:>8d}件")
print(f"合计:{total:>8.2f}元")
print(f"支付:{payment:>
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 注册核安全工程师《核安全案例分析》题库1000题(第四册)
- 河北医科大学第四医院招聘笔试真题2025
- 物业人员劳动合同(2026版)
- 井冈山市融媒体中心选调工作人员笔试真题2025
- 2026 年大学生二手平台交易骗局识别安全宣讲
- 2026 年高中秋季开学第一课诺如病毒校园感染防控实操教育
- 2026年中西医结合科拔罐理疗护理查房
- 某制药公司GMP管理规范
- 陕西省渭南市部分重点高中2025-2026学年高二年级下册3月阶段性检测(一)地理(含解析)
- 小升初数学(七年级)专项提升:有理数的除法(原卷版)
- 2026小学数学北师大版新教材培训:四至六年级教材解析
- 2026广西正远监理咨询有限公司第二批项目制用工招聘47人笔试模拟试题及答案详解
- 2026年成都玉林紫荆初一入学数学分班考试真题含答案
- 2025年芜湖市繁昌区区属国有企业招聘考试试卷真题
- 2026年医疗卫生行业结构化面试备考考试试题及答案
- 一氧化二氮的理化性质与危险特性培训
- 《中华人民共和国生态环境法典》深度培训
- 设计图纸审批制度
- 保安员监控岗工作制度
- (正式版)DB36∕T 1297-2020 《城市消防物联网大数据应用平台物联设施设备接口规范》
- GB/Z 46984.3-2026光伏电池第3部分:双面光伏电池电流-电压特性的测量
评论
0/150
提交评论