Python条件语句与循环语句详解:编程进阶的必经之路
目录
一、条件语句:程序的决策引擎
(一)if 语句:简单决策
(二)if – else 语句:二选一的决策
(三)if – elif – else 语句:多分支决策
(四)三目运算符:简洁的条件表达式
二、循环语句:程序的重复执行者
(一)while 循环:满足条件就循环
(二)for 循环:遍历序列的利器
(三)循环嵌套:构建复杂逻辑
(四)break 和 continue:灵活控制循环
三、思维导图
四、总结与实战建议
在 Python 编程的世界里,条件语句和循环语句是构建程序逻辑的重要基石。它们赋予程序决策能力和重复执行任务的能力,让代码变得更加灵活和强大。对于 Python 初学者来说,深入理解并熟练运用这两种语句是迈向编程高手的关键一步。今天,就让我们一起深入探讨 Python 中的条件语句和循环语句,通过丰富的示例代码,带你快速掌握它们的使用技巧。
一、条件语句:程序的决策引擎
(一)if 语句:简单决策
if
语句是条件语句中最基本的形式,它根据条件的真假来决定是否执行特定的代码块。语法格式如下:
if 条件:
条件成立执行的代码
例如,在判断一个数是否大于 10 时,可以这样写
num = 15
if num > 10:
print(f'{num}大于10')
当num
的值为 15 时,条件num > 10
成立,因此会执行print
语句,输出 “15 大于 10”。这里需要注意,if
语句后面的条件表达式必须是一个可以判断真假的表达式,比如比较运算、逻辑运算等。而且,条件成立时执行的代码块需要缩进,通常使用 4 个空格或 1 个制表符,这是 Python 语法的严格要求,它用于区分代码块的层次结构。
(二)if – else 语句:二选一的决策
if - else
语句在if
语句的基础上增加了一个else
分支,当if
条件不成立时,会执行else
后面的代码块。语法如下:
if 条件:
条件成立执行的代码
else:
条件不成立执行的代码
以判断年龄是否达到法定成年年龄为例:
age = 16
if age >= 18:
print(f'您的年龄是{age},可以上网')
else:
print(f'您的年龄是{age},小屁孩,回家写作业去')
当age
为 16 时,age >= 18
条件不成立,程序会执行else
分支的代码,输出 “您的年龄是 16, 小屁孩,回家写作业去”。在实际应用中,if - else
语句常用于处理两种不同情况的场景,比如判断用户输入是否合法、文件是否存在等。
(三)if – elif – else 语句:多分支决策
在实际编程中,往往需要根据多个条件进行不同的处理,这时就可以使用if - elif - else
语句。elif
是 “else if” 的缩写,用于添加额外的条件判断。语法如下:
if 条件1:
条件1成立执行的代码
elif 条件2:
条件2成立执行的代码
else:
以上条件都不成立执行的代码
比如在猜拳游戏中判断输赢:
import random
player = int(input('请出拳:0--石头;1--剪刀;2--布:'))
computer = random.randint(0, 2)
if ((player == 0) and (computer == 2)) or ((player == 1) and (computer == 0)) or ((player == 2) and (computer == 1)):
print('玩家获胜,哈哈哈哈')
elif player == computer:
print('平局,别走,再来一次')
else:
print('电脑获胜')
在这个例子中,程序会根据玩家和电脑出拳的不同情况,执行不同的代码块来判断游戏结果。if - elif - else
语句可以有多个elif
分支,根据条件的先后顺序依次判断,只要有一个条件成立,就会执行对应的代码块,然后跳出整个条件判断结构。
(四)三目运算符:简洁的条件表达式
三目运算符是一种简洁的条件判断表达方式,它可以在一行代码中完成条件判断和赋值操作。语法如下:
条件成立执行的表达式 if 条件 else 条件不成立执行的表达式
二、循环语句:程序的重复执行者
(一)while 循环:满足条件就循环
while
循环用于在条件为真时,重复执行一段代码块。语法如下:
while 条件:
条件成立重复执行的代码1
条件成立重复执行的代码2
计算 1 到 100 的累加和是while
循环的经典应用:
i = 1
result = 0
while i <= 100:
result = result + i
i = i + 1
print(result)
在这段代码中,初始化变量i
为 1,result
为 0。每次循环时,将i
加到result
中,然后i
自增 1。当i
大于 100 时,条件i <= 100
不成立,循环结束,最后输出累加和。在使用while
循环时,一定要注意条件的设置,避免出现死循环。比如,如果忘记在循环体中增加i
的值,i
始终小于等于 100,循环就会一直进行下去,导致程序卡死。
(二)for 循环:遍历序列的利器
for
循环主要用于遍历序列(如列表、元组、字符串等)中的每个元素,并对每个元素执行相同的操作。语法如下:
for 临时变量 in 序列:
重复执行代码1
重复执行代码2
以遍历字符串为例:
str1 = 'itheima'
for i in str1:
print(i)
上述代码会依次输出字符串'itheima'
中的每个字符。在for
循环中,临时变量
会依次取序列中的每个值,执行循环体中的代码。for
循环的优点在于简洁明了,能够方便地对序列中的元素进行处理。它还可以和range()
函数结合使用,生成一个指定范围的数字序列,用于循环指定的次数。例如:
for i in range(1, 11):
print(i)
这段代码会输出 1 到 10 的数字。range(1, 11)
生成的序列是从 1 开始(包含 1),到 11 结束(不包含 11)。
(三)循环嵌套:构建复杂逻辑
循环嵌套是指在一个循环体内再包含另一个循环。在while
循环和for
循环中都可以使用循环嵌套。例如,使用for
循环打印九九乘法表:
for j in range(1, 10):
for i in range(1, j + 1):
print(f'{i}*{j}={i * j}', end='\t')
print()
在这个例子中,外层for
循环控制行数,内层for
循环控制每行的表达式个数。每次外层循环执行时,内层循环会完整地执行一遍,打印出一行乘法表达式。循环嵌套在处理二维数据(如矩阵)、图形绘制等场景中经常用到,但要注意嵌套的层数不宜过多,否则会导致代码可读性变差和性能下降 。
(四)break 和 continue:灵活控制循环
1.break 语句:break
语句用于在循环过程中,当满足某个条件时,立即跳出整个循环。例如,在吃苹果的场景中,如果吃到第 4 个苹果时吃饱了:
i = 1
while i <= 5:
if i == 4:
print('吃饱了,不吃了')
break
print(f'吃了第{i}个苹果')
i = i + 1
当i
等于 4 时,执行break
语句,跳出while
循环,不再执行后续的循环代码。break
语句在需要提前结束循环的场景中非常有用,比如在查找某个元素时,一旦找到就可以使用break
跳出循环,提高程序效率。
2.continue 语句:continue
语句用于跳过当前循环的剩余代码,直接进入下一次循环。还是以吃苹果为例,如果吃到第 3 个苹果时吃出一个大虫子:
i = 1
while i <= 5:
if i == 3:
print('吃出一个大虫子,这个苹果不吃了')
i = i + 1
continue
print(f'吃了第{i}个苹果')
i = i + 1
当i
等于 3 时,执行continue
语句,跳过本次循环中剩余的print(f'吃了第{i}个苹果')
代码,直接进入下一次循环,i
自增 1 后继续循环。使用continue
时要注意,在continue
之前一定要修改计数器,否则可能会导致死循环。比如,如果在上述代码中忘记i = i + 1
,当i
等于 3 时,每次循环都会执行continue
,i
始终为 3,就会陷入死循环。
三、思维导图
四、总结与实战建议
条件语句和循环语句是 Python 编程中不可或缺的部分,它们为程序赋予了逻辑判断和重复执行的能力。通过合理运用这两种语句,可以解决各种复杂的编程问题。在实际编程中,建议大家多进行练习,尝试用不同的方式解决同一个问题,加深对条件语句和循环语句的理解。比如,在处理数据时,可以使用条件语句筛选出符合特定条件的数据,再用循环语句对这些数据进行进一步的处理。同时,要注意代码的可读性和规范性,合理使用缩进和注释,让代码更加清晰易懂。希望大家通过不断的学习和实践,能够熟练掌握 Python 的条件语句和循环语句,在编程的道路上越走越远!
作者:柒的小船