CodeGym /课程 /Python SELF ZH /关于循环和if的更多内容

关于循环和if的更多内容

Python SELF ZH
第 4 级 , 课程 5
可用

11.1 三元运算符

在 Python 中有一种叫做三元运算符的东西,它实际上是变形版的 运算符 if else

假设你有如下代码:


if a < b:
   min = a
else:
   min = b

为了这个简单的代码不占太多空间,有一种紧凑的写法。它看起来像这样:


min = a if a < b else b

三元运算符的一般形式是这样的:


变量 = 值1 if 条件 else 值2

如果 条件 为真,那么变量被赋值为 值1,如果为假则为 值2

注意这里条件后面没有冒号。

11.2 循环中的 else 运算符

在 Python 中,运算符 else 通常与条件运算符 if 关联。然而它的使用不限于此,else 也可以在循环 forwhile 中使用。

这种在循环中的 else 的不明显的用法可能会让初学者感到困惑,但它为程序流程控制提供了有趣的机会。

循环中的 else 怎么工作

在循环中,else 在循环正常结束后执行,但仅当循环没有被 break 运算符中断时。这个特性使 else 在需要检查循环是否提前中断的情况下非常有用。

for 循环中的使用示例


for i in range(3):
    password = input('输入密码: ')
    if password == 'sekret':
        print('密码接受。')
        break
else:
    print('没有输入尝试或所有输入的密码都不正确。')               

这里,else 在用户三次输入错误密码时触发。如果用户输入正确密码,循环被 break 中断,else 块不会执行。

while 循环中的使用示例


n = 5
while n > 0:
    print(n)
    n -= 1
else:
    print('循环正常结束。')               

在这个例子中,当循环自然结束,即条件变为假时,else 被执行。

实际意义

在循环中使用 else 在搜索算法中特别有用,当你需要确定搜索是否成功时。例如,在列表中搜索不存在的元素时,可以使用 else 在循环结束后输出失败消息。

在循环中明明确确地使用 else,这样不会让看你代码的人感到困惑。记住,循环中的 else 并不总是直观的,所以如果这样做能让代码更清晰,就加注释或选择其他方法实现逻辑。

11.3 嵌套循环

在 Python 中可以非常紧凑地编写复杂的逻辑。有时候你会需要嵌套的 if,有的时候需要嵌套的循环。我们现在来聊聊它们工作的一些细节:

嵌套循环意味着在一个循环里面有另一个循环。这让你可以,例如,处理多维数组、列表列表或其他嵌套的数据结构。

嵌套循环由外部循环和一个或多个内部循环组成。每当外部循环执行一次迭代时,内部循环会完整执行一次:


for i in range(3):  # 外部循环
    for j in range(3):  # 内部循环
        print(f"({i}, {j})")               

对于外部循环来说,内部循环及其内容只是一个命令块,在每次外部循环的迭代中都会执行。外部循环根本不关心里面有多少循环以及它们是怎样的。它只是对每个来自自己列表的变量执行自己的内部命令块。

我们来打印一下 乘法表 吧——嵌套循环非常适合这个任务。通过嵌套循环创建乘法表,其中一个循环负责因数,另一个负责被乘数:


n = 5
for i in range(1, n + 1):
    for j in range(1, n + 1):
        print(f"{i} * {j} = {i * j}", end='\t')
    print()  # 为下一个因数换行               

这个例子将打印出一张表:


1 * 1 = 1	1 * 2 = 2	1 * 3 = 3	1 * 4 = 4	1 * 5 = 5	
2 * 1 = 2	2 * 2 = 4	2 * 3 = 6	2 * 4 = 8	2 * 5 = 10	
3 * 1 = 3	3 * 2 = 6	3 * 3 = 9	3 * 4 = 12	3 * 5 = 15	
4 * 1 = 4	4 * 2 = 8	4 * 3 = 12	4 * 4 = 16	4 * 5 = 20	
5 * 1 = 5	5 * 2 = 10	5 * 3 = 15	5 * 4 = 20	5 * 5 = 25

为了更好地理解嵌套循环,你需要多多练习——这几乎是掌握程序设计中任何不明显东西的最快方式。

1
调查/小测验
循环和分支第 4 级,课程 5
不可用
循环和分支
循环和分支
评论 (1)
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION
学习吧~技术储备 级别 17,China,China
25 三月 2025
这个课能标记下,之后复习在来看吗?