杰瑞科技汇

python while if 区别

  • if:用来做判断,根据条件决定是否执行某一次特定的代码块,它只走一次流程。
  • while:用来做循环,根据条件决定是否重复执行某段代码,它会一直走,直到条件不再满足。

if 语句:单次判断

if 语句就像一个路口的交警,他只会看你一次,根据你是否违规来决定是否拦下你。

python while if 区别-图1
(图片来源网络,侵删)

作用:根据一个条件的真假,选择性地执行一段代码,如果条件为真,就执行 if 下面的代码块;如果为假,就跳过它(或者执行 else 下面的代码块)。

核心特点

  • 执行一次:程序执行到 if 语句时,会判断一次条件,然后就继续执行后面的代码,不会再回头。
  • 分支选择:它提供的是“二选一”或“多选一”的分支结构。

语法结构

if 条件:
    # 如果条件为 True,则执行这里的代码
    ...
elif 另一个条件: # (可选)
    # 如果前面的 if 条件为 False,且这个条件为 True,则执行这里的代码
    ...
else: # (可选)
    # 如果所有前面的条件都为 False,则执行这里的代码
    ...

代码示例

python while if 区别-图2
(图片来源网络,侵删)
age = 18
# 程序只会判断一次 age >= 18
if age >= 18:
    print("你已经成年了,可以进入。")
else:
    print("你还未成年,禁止进入。")
print("检查完毕。") # 这行代码无论如何都会执行

输出

你已经成年了,可以进入。
检查完毕。

在这个例子中,程序检查了 age 一次,然后打印出相应的信息,就继续往下走了,不会再回来重新检查 age


while 循环:重复执行

while 循环像一个不知疲倦的跑步运动员,在跑道上一直跑,直到裁判(条件)告诉他“停!”

作用:只要一个条件保持为真,就不断地重复执行一段代码块,当条件变为假时,循环才会结束,程序才会继续执行循环后面的代码。

python while if 区别-图3
(图片来源网络,侵删)

核心特点

  • 重复执行:只要条件满足,代码块就会被一遍又一遍地执行。
  • 循环结构:它提供的是“重复做某事”的循环结构。

语法结构

while 条件:
    # 只要条件为 True,就会反复执行这里的代码
    ...
    # 重要:在循环体内,必须有某种方式能让条件最终变为 False,否则会形成“死循环”

代码示例

count = 0
# 程序会一次又一次地检查 count < 5
while count < 5:
    print(f"当前计数是: {count}")
    count = count + 1  # 关键:每次循环后,count 的值都会增加
print("循环结束。") # 只有当 count >= 5 时,这行代码才会被执行

输出

当前计数是: 0
当前计数是: 1
当前计数是: 2
当前计数是: 3
当前计数是: 4
循环结束。

在这个例子中,程序检查了 count < 5 五次,每次打印后,count 的值都会增加,直到 count 变成 5,count < 5 这个条件变为 False,循环才停止。


核心区别对比表

特性 if 语句 while 循环
核心功能 判断分支选择 循环重复执行
执行次数 最多一次 零次或多次(直到条件为假)
程序流程 线性或分支,执行完即跳过 可能会“回头”,反复执行同一段代码
比喻 一个十字路口的红绿灯 一个不知疲倦的跑步运动员
语法关键词 if, elif, else while
是否需要改变条件 不需要,条件判断一次后就丢弃了。 必须需要,否则会导致死循环
典型应用场景 - 检查用户输入是否有效
- 根据分数评定等级
- 决定是否执行某个操作
- 遍历列表中的所有元素
- 等待用户输入特定内容
- 游戏主循环

一个生动的比喻:点外卖

假设你想吃火锅,但不确定哪家好吃。

使用 if 语句:

# 你打开外卖APP,看了一家评价最高的店
if这家店的评分 >= 4.5:
    print("太好了,就这家了!下单!")
else:
    print "评分太低了,再看看别的。"
# 无论选不选,你都只看了这一家店,然后就关掉APP了。

你只做了一次判断,然后就结束了。

使用 while 循环:

is_found = False # 设置一个标志,表示还没找到满意的店
while not is_found: # 只要还没找到,就一直看
    print("正在浏览一家店...")
    if 这家店的评分 >= 4.5 and 这家店有优惠券:
        print("找到了!评分高还有券,就这家了!下单!")
        is_found = True # 找到了,改变条件,让循环结束
    else:
        print("这家不满意,继续看下一家。")
# 只有找到满意的店,循环才会停止,你才会去下单。

你一直在重复“浏览-判断”这个过程,直到满足“找到满意的店”这个条件为止。


ifwhile 可以结合使用

在实际编程中,ifwhile 经常一起使用,非常常见。

场景:你想让用户输入正确的密码,如果输错了,就提示错误并让他重新输入。

password = "secret123"
user_input = ""
# while 循环用于“重复尝试”
while user_input != password:
    # if 语句用于“判断单次输入是否正确”
    if user_input: # 如果不是第一次输入(即 user_input 不为空字符串)
        print("密码错误,请重试!")
    # 在循环内部获取新的输入
    user_input = input("请输入密码: ")
print("密码正确,欢迎进入!")

在这个例子中:

  • while 循环控制着“不断尝试”这个大框架。
  • if 语句在每次循环中,判断“这次的输入是不是错误的”,如果是,就给出一个错误提示。

记住这个简单的法则:

  • 当你的代码需要“做一次决定”时,使用 if
  • 当你的代码需要“反复做一件事,直到某个条件满足”时,使用 while
分享:
扫描分享到社交APP
上一篇
下一篇