Python 基础综合与实践教案:密码验证、循环、分支条件、图形绘制
一、知识点
- 输入函数
input()
的使用 - 条件判断语句
if-else
的语法与逻辑 - 字符串比较运算
- 模块导入
import
语句 turtle
绘图库的基础使用:fd()
、left()
、done()
方法for
循环语句及range()
函数的应用- 程序的分支执行结构
二、考点
input()
函数的返回值类型及类型转换if-else
条件判断的执行逻辑- 字符串比较的注意事项(大小写敏感等)
- 循环结构的执行流程
turtle
库的基本绘图命令- 程序的分支执行路径分析
三、重点和难点
重点
- 掌握
if-else
条件判断结构的语法和使用场景 - 理解
for
循环的执行过程 - 学会使用
turtle
库绘制简单图形
难点
- 理解程序的分支执行逻辑
- 掌握循环次数与图形绘制之间的关系
- 理解模块导入的作用和时机
四、代码逐行注释与解释
python
运行
# -*- coding: UTF-8 -*-
# 声明文件编码格式为UTF-8,确保中文正常显示a = input("输入密码:")
# 使用input()函数获取用户输入,括号中的字符串作为提示信息显示
# 将用户输入的内容赋值给变量a,注意input()返回的是字符串类型if a == "123":# 使用if语句进行条件判断,检查变量a的值是否等于字符串"123"# 双等号"=="是比较运算符,用于判断左右两边的值是否相等print("密码正确")# 如果条件成立(密码正确),则执行这条语句,打印"密码正确"import turtle# 导入turtle绘图库,导入后才能使用该库提供的绘图功能for i in range(4):# 使用for循环,range(4)会生成0,1,2,3四个数字,循环将执行4次# 变量i用于存储当前循环的次数(从0开始)turtle.fd(100)# 调用turtle库的fd()方法,让小海龟向前移动100像素turtle.left(90)# 调用turtle库的left()方法,让小海龟向左转90度turtle.done()# 调用turtle库的done()方法,保持绘图窗口不关闭,等待用户操作else:# 如果if条件不成立(密码不正确),则执行else部分的代码print("密码错误")# 打印"密码错误"提示信息
五、练习题
选择题(5 道)
以下哪个函数用于获取用户输入?
A. print () B. input () C. get () D. scanf ()在 Python 中,以下哪个符号用于表示赋值操作?
A. == B. = C. := D. ->执行
for i in range(4)
时,循环体将执行多少次?
A. 3 次 B. 4 次 C. 5 次 D. 不确定turtle.left(90)
的作用是?
A. 向右移动 90 像素 B. 向左移动 90 像素
C. 向左转 90 度 D. 向右转 90 度以下哪个语句可以导入 turtle 库?
A. include turtle B. using turtle
C. import turtle D. require turtle
填空题(5 道)
语句
a = input("请输入:")
中,变量a
的数据类型是_______。要判断变量
x
是否等于 5,应使用表达式_______。turtle.fd(50)
表示让小海龟向_______方向移动 50 像素。要让循环执行 5 次,
range()
函数应写为_______。在
if-else
结构中,如果if
的条件不成立,则会执行_______部分的代码。
编程题(5 道)
温度转换程序
编写一个程序,让用户输入摄氏度,程序将其转换为华氏度并显示。转换公式:华氏度 = 摄氏度 × 1.8 + 32解答:
python
运行
celsius = float(input("请输入摄氏度: ")) fahrenheit = celsius * 1.8 + 32 print(f"{celsius}摄氏度等于{fahrenheit}华氏度")
奇偶数判断器
编写一个程序,让用户输入一个整数,程序判断它是奇数还是偶数并显示结果。解答:
python
运行
num = int(input("请输入一个整数: ")) if num % 2 == 0:print(f"{num}是偶数") else:print(f"{num}是奇数")
正方形面积计算器
编写一个程序,让用户输入正方形的边长,计算并显示正方形的面积。如果输入的边长为负数,提示 "边长不能为负数"。解答:
python
运行
length = float(input("请输入正方形的边长: ")) if length >= 0:area = length * lengthprint(f"正方形的面积是: {area}") else:print("边长不能为负数")
绘制等边三角形
使用 turtle 库绘制一个等边三角形,每条边长为 100 像素。解答:
python
运行
import turtle for _ in range(3):turtle.fd(100)turtle.left(120) # 等边三角形每个内角60度,外角120度 turtle.done()
简单加法测验
编写一个程序,随机生成两个 1 到 10 之间的整数,让用户输入它们的和,然后判断用户的答案是否正确并给出提示。解答:
python
import random# 生成两个1到10之间的随机整数
num1 = random.randint(1, 10)
num2 = random.randint(1, 10)# 显示题目并获取用户答案
user_answer = int(input(f"{num1} + {num2} = "))# 判断答案是否正确
if user_answer == num1 + num2:print("恭喜你,答案正确!")
else:print(f"答错了,正确答案是{num1 + num2}")
一、选择题解析
答案:B
解析:在 Python 中,input()
函数用于获取用户输入,print()
用于输出,C 和 D 不是 Python 的内置函数。答案:B
解析:=
是赋值运算符,==
是比较运算符,:=
是 Python 3.8 + 的海象运算符(较少使用),->
用于函数返回值注解。答案:B
解析:range(4)
生成 0、1、2、3 四个数值,因此循环体将执行 4 次。答案:C
解析:turtle.left(90)
表示让海龟向左转 90 度,turtle.right()
是向右转,fd()
是向前移动。答案:C
解析:Python 中导入模块使用import
关键字,其他选项是其他编程语言的导入方式。
二、填空题解析
答案:字符串(str)
解析:input()
函数无论用户输入什么内容,返回的都是字符串类型,如果需要其他类型需手动转换。答案:x == 5
解析:==
用于比较两个值是否相等,而=
是赋值运算符,不能用于条件判断。答案:前进(当前朝向)
解析:fd
是forward
的缩写,表示海龟向当前朝向的前方移动指定像素。答案:range (5)
解析:range(n)
会生成从 0 到 n-1 的整数序列,共 n 个元素,因此range(5)
对应 5 次循环。答案:else
解析:if-else
结构中,条件成立执行if
块,不成立则执行else
块,二者只能执行其一。
三、编程题详细解析
温度转换程序
- 知识点:
input()
使用、类型转换、数学运算、格式化输出 - 解析:先通过
input()
获取用户输入,用float()
转换为数值类型,再应用转换公式计算,最后用格式化字符串输出结果。
- 知识点:
奇偶数判断器
- 知识点:
if-else
结构、取模运算(%)、类型转换 - 解析:使用
% 2 == 0
判断能否被 2 整除,能被整除的是偶数,否则是奇数,体现了分支结构的典型应用。
- 知识点:
正方形面积计算器
- 知识点:条件判断、数值运算、异常处理思路
- 解析:先判断输入的边长是否合法(非负数),再计算面积,体现了程序对边界情况的处理能力。
绘制等边三角形
- 知识点:
turtle
库使用、循环结构、几何知识 - 解析:等边三角形每个内角 60 度,因此每次转向角度为 120 度(180-60),通过 3 次循环完成绘制,将数学知识与编程实践结合。
- 知识点:
简单加法测验
- 知识点:随机数生成、条件判断、用户交互
- 解析:使用
random
库生成随机题目,通过输入获取用户答案,再用条件判断验证正确性,增加了程序的趣味性和交互性。
这些练习题覆盖了原代码中的核心知识点,并进行了适当扩展,帮助学习者巩固基础并提升应用能力。每个题目都体现了不同的编程思维,从简单计算到图形绘制,再到交互式程序,逐步提升难度和复杂度。
编辑分享
补充一下密码验证与图形绘制的代码
再增加一些关于Python函数的练习题
如何使用Python的turtle库绘制更复杂的图形?