目录
一,条件判断:if语句
1.基本语法与示例
if语句用于判断某个条件是否成立。如果成立,则执行语句内的程序;否则跳过if语句,执行后面的内容,语法格式如下。
if 条件表达式:
代码块1
else:
代码块2
示例1:判断输入的数是否为正数
num = int(input("请输入一个整数:"))
if num > 0:
print("输入的数是正数")
else:
print("输入的数不是正数")
执行流程:
- 若num>0为True,执行print("正数")。
- 若为False,执行print("非正数")。
2.多重条件判断(elif)
使用if语句时,后面要用到条件表示式和关系运算符,它们可以经过运算得到布尔值。
语法:
操作数 关系运算符 操作数
关系运算符 说明
== 等于
!= 不等于
> 大于
< 小于
>= 大于等于
<= 小于等于
当需要处理多个条件时,使用elif扩展逻辑分支:
if 条件1:
代码块1
elif 条件2:
代码块2
else:
代码块3
示例:成绩分级
score = int(input("请输入成绩:"))
if score >= 90:
print("优秀")
elif score >= 70:
print("良好")
elif score >= 60:
print("合格")
else:
print("需努力")
- 条件顺序:条件应从高到低排列,避免逻辑错误。
- 互斥性:elif和else仅在前一条件不满足时触发。
3.常见错误与避坑指南
1.缩进错误
if score > 60:
print("合格") # 错误:未缩进
修正:
if score > 60:
print("合格")
2.遗漏冒号
if score > 60 # 错误:缺少冒号
print("合格")
修正:
if score > 60:
print("合格")
- 工具辅助:使用IDE(如VSCode)自动补全冒号和缩进。
- 代码审查:多人协作时需检查代码格式。
二,循环结构:while与for
1.while循环
循环的条件表达式后面也要使用冒号,然后缩进写循环操作语句。while语句是先判断后执行。即:先判断条件表达式是否成立,如果条件表达式的值为True,则执行循环操作语句。如果其值为False,则跳出循环,执行while语句后面的语句。
语法:
while 条件表达式:
循环体代码
示例:计算5门课程平均分
i = 1
sum = 0
while i <= 5:print('请输入第%d 门课程的考试成绩' % i)
sum = sum + int(input())
i = i + 1
avg = sum / ( i - 1 )
print ('5门课程的平均成绩是%d' % avg)
- 适用场景:循环次数不确定时(如用户输入验证)。
- 避免死循环:确保条件最终变为False。
2.Python的注释
对于编写好的代码,经过一段时间之后,有可能会忘记代码的具体作用,所以代码中要写一些注释文字,以便于日后阅读和修改代码。Python中使用“#”开头表示注释,可以在代码中添加注释。
i = 1 #初始化循环计数器i
sum = 0 #初始化总成绩变量sum
while i <= 5: #重复执行5次接收考试成绩,求和的操作print('请输入第%d 门课程的考试成绩' % i)
sum = sum + int(input()) #每门课程计入总成绩
i = i + 1 #计数器i增加1
avg = sum / ( i - 1 ) #计算平均成绩
print ('5门课程的平均成绩是%d' % avg) #输出平均成绩
3.字符串的格式化输出
字符串中的" %d",表示插入的是一个整型数据,%s格式化字符串,%f格式化浮点数字字符串后面的“ % i”表示获取变量 i 的值。
示例:常用替代符的使用情况。
num = 5
numStr = "5"
numF = 5.55
print ("第%d 名" % num)
print ("第%d 名" % numStr)
print ("浮点数是: %f" %numF)
4.for循环与遍历
语法:
for 变量 in 可迭代对象:
循环体代码
示例:遍历列表
fruits = ["西瓜", "苹果", "葡萄"]
for fruit in fruits:
print(fruit)
结合range函数:生成序列
for i in range(5): # 0-4
print(i)
for i in range(0, 10, 2): # 0,2,4,6,8
print(i)
- 遍历优势:适合处理集合数据(列表,元组,字符串)。
- range灵活性:可指定起始值,终止值和步长。
5.嵌套循环与逻辑运算符
使用 while 和 for 语句执行循环操作时,有可能需要改变循环的正常执行顺序,这时就需要循环控制语句实现,循环控制语句有 break 和 continue。
students = ["小明", "小张"]
subjects = ["Python", "MySQL", "Linux"]
for student in students:
total = 0
for subject in subjects:
score = int(input(f"{student}的{subject}成绩:"))
total += score
print(f"{student}平均分:{total/3}")
逻辑运算符:
- and:所有条件为真时触发。
- or:任意条件为真时触发。
- not:反转布尔值。
示例:成绩有效性检查
score = int(input("请输入成绩:"))
if score < 0 or score > 100:
print("成绩无效!")
- 嵌套逻辑:外层循环控制整体流程,内层处理细节。
- 运算符优先级: not > and > or,必要时用括号明确优先级。
三,循环控制:break与continue
1.break语句
在循环语句块中使用break语句,可以跳出整个循环。
作用:立即终止当前循环,跳出循环体。
示例:输入无效成绩时退出
for student in ["小明", "小张"]:
total = 0
for subject in ["Python", "MySQL"]:
score = int(input(f"{student}的{subject}成绩:"))
if score < 0:
print("无效!退出循环")
break # 终止内层循环
total += score
print(f"{student}总分:{total}")
- 应用场景:检测到错误或满足终止条件时提前退出。
- 作用范围:仅终止最近的循环。
2.continue语句
在Python中,contiue语句用于跳过当前循环中的剩余代码,并继续执行下一次循环。当continue语句被执行时,程序将立即跳转到循环的开头,而不执行continue语句之后的代码。她通常用于条件判断内部,用来控制循环的执行流程。
示例:
i = 0
while i < 3:
score = int(input("请输入成绩:"))
if score < 0:
print("无效!重新输入")
continue # 跳过后续代码
total += score
i += 1
- 适用情况:需忽略当前迭代的部分操作时使用。
- 循环进度:continue后循环变量可能需手动更新(如 i += 1)。
四,字符串格式化与输入验证
1.字符串格式化
传统方法:使用%占位符
name = "小明"
age = 18
print("姓名:%s,年龄:%d" % (name, age)) # 输出:姓名:小明,年龄:18
现代方法:推荐 f-string (Python 3.6+)
print(f"姓名:{name},年龄:{age}")
- 占位符类型:%(字符串),%d(整数),%f(浮点数)。
- f-string优势:更简洁,支持表达式内嵌(如{score * 1.1})。
2.输入验证与健壮性
示例:确保输入成绩在0-100之间
while True:
score = int(input("请输入成绩(0-100):"))
if 0 <= score <= 100:
break
print("输入无效!")
- 循环验证:结合 while True 和 break 实现强制输入。
- 异常处理:可扩展 try-except 捕获非数字输入。