当前位置:首页>python>从零开始学python-while循环语句

从零开始学python-while循环语句

  • 2026-09-03 15:31:43
从零开始学python-while循环语句

Hi~新朋友,记得点上面蓝字(网虫root)关注哟~

前言:

   主要分享的是Python版本为Python3的内容。

一、while循环简介:

while 循环会重复执行一段代码块,直到指定的条件不再满足为止。与for循环不同,while循环适用于那些循环次数不确定,需要根据条件判断来决定是否继续循环的场景。

二、基本语法:

while 条件表达式:    循环体语句

🌳语法说明:

  • 条件表达式:一个布尔表达式,如果为True,则执行循环体;如果为False,则退出循环

  • 循环体语句:需要重复执行的代码块,必须缩进

三、流程图:

四、while 循环示例:

示例 1:密码验证系统

以下是一个密码验证系统的示例,用户有3次尝试机会输入正确的密码:

①. 密码验证系统correct_password = 'securePass123'attempts = 0max_attempts = 3print("欢迎使用安全系统!")print(f"您有 {max_attempts} 次尝试机会。")while attempts < max_attempts:    user_input = input("请输入密码: ")    if user_input == correct_password:        print("密码正确!系统已解锁。")        break    else:        attempts += 1        remaining = max_attempts - attempts        if remaining > 0:            print(f"密码错误!您还有 {remaining} 次尝试机会。")        else:            print("密码错误!尝试次数已用尽,系统已锁定。")print("感谢使用安全系统。")

⏩执行流程说明:

  1. 程序启动,显示欢迎信息和尝试次数

  2. 进入 while 循环,检查尝试次数是否小于最大尝试次数

  3. 如果条件为 True,提示用户输入密码

  4. 检查输入的密码是否正确

        如果正确,显示解锁信息并退出循环

        如果错误,增加尝试次数并提示剩余尝试次数

  5. 当尝试次数达到最大值时,显示系统锁定信息并退出循环

  6. 最后显示感谢信息

🌱示例输出:

欢迎使用安全系统!您有 3 次尝试机会。请输入密码: wrongPass密码错误!您还有 2 次尝试机会。请输入密码: pass123密码错误!您还有 1 次尝试机会。请输入密码: securePass123密码正确!系统已解锁。感谢使用安全系统。

示例 2:斐波那契数列生成器

以下是一个生成斐波那契数列的示例,直到数列的值超过100:

# 生成斐波那契数列a, b = 0, 1print("斐波那契数列 (小于100):")while a < 100:    print(a, end=' ')    a, b = b, a + bprint("\n数列生成完成。")

🚪执行流程说明:

  1. 初始化两个变量 a 和 b,分别代表斐波那契数列的前两个数字

  2. 进入 while 循环,检查 a 是否小于 100

  3. 如果条件为 True,打印当前的 a 值

  4. 更新 a 和 b 的值,a 变成原来的 b,b 变成 a + b

  5. 重复步骤 2-4,直到 a 大于等于 100

  6. 显示数列生成完成信息

🔄示例输出:

斐波那契数列 (小于100):0 1 1 2 3 5 8 13 21 34 55 89 数列生成完成。

五、无限循环

while循环的条件如果始终为True,就会形成无限循环(死循环)。无限循环通常需要配合break语句来退出。

示例1:简易计算器

以下是一个简易计算器的示例,可以进行加法和减法运算:

①. 简易计算器print("简易计算器 (输入 'q' 退出)")print("支持的操作: +, -")while True:    operation = input("\n请选择操作 (+ 或 -): ")    if operation == 'q':        print("感谢使用计算器,再见!")        break    if operation not in ['+', '-']:        print("无效操作,请选择 + 或 -")        continue    try:        num1 = float(input("请输入第一个数字: "))        num2 = float(input("请输入第二个数字: "))        if operation == '+':            result = num1 + num2            print(f"{num1} + {num2} = {result}")        elif operation == '-':            result = num1 - num2            print(f"{num1} - {num2} = {result}")    except ValueError:        print("输入无效!请输入数字。")

👁执行流程说明:

  1. 显示计算器欢迎信息和可用操作

  2. 进入无限循环(while True)

  3. 提示用户选择操作

  4. 检查用户是否输入 'q' 退出

  5. 检查输入的操作是否有效

  6. 提示用户输入两个数字

  7. 根据选择的操作执行计算

  8. 显示计算结果

  9. 如果输入无效,显示错误信息并继续循环

  10. 用户输入 'q' 时,退出循环并显示感谢信息

💡示例输出:

简易计算器 (输入 'q' 退出)支持的操作: +, -请选择操作 (+ 或 -): +请输入第一个数字: 15.5请输入第二个数字: 4.215.5 + 4.2 = 19.7请选择操作 (+ 或 -): -请输入第一个数字: 20请输入第二个数字: 820.0 - 8.0 = 12.0请选择操作 (+ 或 -): q感谢使用计算器,再见!

六、while-else语句

在Python中,while循环可以有一个可选的else子句。当while循环的条件变为False时,else子句会被执行。但如果在循环中使用了break语句跳出循环,else子句不会被执行。

🧪while-else语句语法

while 条件表达式:    循环体语句else:    else语句块

📖语法说明:

  • 当while循环的条件表达式变为False时,执行else语句块

  • 如果循环被break语句终止,else语句块不会被执行

🎭while-else语句流程图

⚙️示例:查找质数

①. 查找质数示例print("质数检测器")print("输入一个大于1的整数,我将判断它是否为质数")while True:    num = input("\n请输入一个整数(输入'退出'结束):")    if num.lower() == '退出':        print("程序结束!")        break    try:        num = int(num)        if num <= 1:            print("请输入大于1的整数")            continue        # 检测是否为质数        is_prime = True        divisor = 2        # 使用while循环检测        while divisor * divisor <= num:            if num % divisor == 0:                is_prime = False                print(f"{num} 可以被 {divisor} 整除,不是质数")                break            divisor += 1        else:            # 只有在while循环正常结束时(没有break)才会执行            print(f"{num} 是质数!")    except ValueError:        print("错误:请输入有效的整数")

🔍输出示例:

质数检测器输入一个大于1的整数,我将判断它是否为质数请输入一个整数(输入'退出'结束):1717 是质数!请输入一个整数(输入'退出'结束):2121 可以被 3 整除,不是质数请输入一个整数(输入'退出'结束):退出程序结束!

七、嵌套while循环

while循环可以嵌套使用,即在一个while循环内部包含另一个while循环。

🧭嵌套while循环语法

while 外层条件表达式:    外层循环体语句    while 内层条件表达式:        内层循环体语句

🎯语法说明:

  • 外层循环每执行一次,内层循环会完整地执行一遍

  • 内层循环可以有自己的循环条件和循环变量

  • 循环层次不宜过深,一般建议不超过3层嵌套

💡嵌套while循环流程图

📌示例:乘法表

①. 打印乘法表示例print("乘法表生成器")rows = int(input("请输入行数:"))cols = int(input("请输入列数:"))print("\n乘法表:")print("   ", end="")for j in range(1, cols + 1):    print(f"{j:4}", end="")print()i = 1while i <= rows:    print(f"{i:2} |", end="")    j = 1    while j <= cols:        print(f"{i*j:4}", end="")        j += 1    print()    i += 1

💭输出示例:

乘法表生成器请输入行数:5请输入列数:5乘法表:       1   2   3   4   5 1 |   1   2   3   4   5 2 |   2   4   6   8  10 3 |   3   6   9  12  15 4 |   4   8  12  16  20 5 |   5  10  15  20  25

八、总结

1、while循环是Python中非常重要且灵活的控制流结构,特别适合以下场景:

  • 当循环次数不确定,需要根据条件判断时

  • 当需要创建无限循环(配合break退出)时

  • 当需要根据用户输入或其他动态条件控制循环时

2、使用while循环的注意事项:

  • 在循环体内要有改变循环条件的语句(除非是有意创建无限循环)

  • 注意使用break和continue时对程序逻辑的影响

  • 在嵌套循环中,注意内层循环的变量不要影响到外层循环

  • 避免无限循环:确保循环条件最终会变为 False,否则程序将陷入无限循环。

  • 循环控制:可以使用 break 语句提前退出循环,使用 continue 语句跳过当前迭代。

  • 初始化变量:在进入循环之前,确保所有用于条件判断的变量都已正确初始化。

  • 循环变量更新:在循环体内,确保有更新循环条件的代码,否则可能导致无限循环。

【微语】孤独是常态,热闹是偶然。把自己活舒服了,跟谁在一起都像度假。

网虫root

期待你的

分享

点赞

在看

最新文章

随机文章