八、【Python】基础 - 【Python while 循环全解析】:掌握无限循环的艺术

💡📚【Python while 循环全解析】:掌握无限循环的艺术📚💡



目录

一、基本语法

二、示例

三、注意事项

四、嵌套循环与循环控制语句

[五、示例:使用 break 和 continue](#五、示例:使用 break 和 continue)

六、示例:计数器

七、示例:求和

八、示例:用户输入验证


在Python中,while 循环允许你重复执行一段代码,只要给定的条件为真。while 循环是一种预测试循环,这意味着它会先检查条件是否为真,然后才会执行循环体内的代码。如果条件一开始就是假的,那么循环体内的代码一次都不会执行。

一、基本语法

python 复制代码
while condition:
    # 循环体内的代码

这里的 condition 是一个布尔表达式,如果它的值为 True,则执行循环体内的代码。一旦条件变为 False,循环终止。

二、示例

假设我们要计算从1加到10的和,可以使用以下 while 循环:

python 复制代码
count = 1
total = 0

while count <= 10:
    total += count
    count += 1

print("从1加到10的和是:", total)

在这个例子中,count 被初始化为1,total 初始化为0。每次循环迭代时,total 加上 count 的值,然后 count 自增1。当 count 大于10时,循环停止。

三、注意事项

  • 在使用 while 循环时,确保循环中有某种机制使循环条件最终变为假,否则循环可能会无限运行下去,导致程序挂起或崩溃。
  • 循环体内的代码必须正确缩进,通常使用四个空格。

四、嵌套循环与循环控制语句

  • 你可以在 while 循环内嵌套其他循环或控制结构。
  • Python提供了 breakcontinue 控制语句,可以用来改变循环的正常流程。
    • break 语句立即终止循环,跳转到循环之后的代码。
    • continue 语句跳过当前迭代的剩余部分,直接进入下一次迭代。

五、示例:使用 breakcontinue

python 复制代码
i = 0
while i < 10:
    i += 1
    if i == 5:
        continue   # 跳过数字5
    if i > 7:
        break      # 当i大于7时,退出循环
    print(i)

这将输出1, 2, 3, 4, 6, 7,因为当 i 等于5时,continue 语句被触发,跳过了打印操作;当 i 大于7时,break 语句被触发,终止了循环。

六、示例:计数器

这里是一个简单的计数器示例,它会显示从1到5的数字,然后停止:

python 复制代码
counter = 1
while counter <= 5:
    print(counter)
    counter += 1

七、示例:求和

这个示例计算从1到用户指定数字的总和:

python 复制代码
def sum_numbers(n):
    sum = 0
    i = 1
    while i <= n:
        sum += i
        i += 1
    return sum

number = int(input("Enter a number: "))
result = sum_numbers(number)
print(f"The sum from 1 to {number} is {result}.")

八、示例:用户输入验证

这个示例会不断提示用户输入直到他们输入一个有效的整数:

python 复制代码
while True:
    user_input = input("Please enter a positive integer (or 'quit' to exit): ")
    if user_input.lower() == 'quit':
        print("Exiting the program.")
        break
    try:
        number = int(user_input)
        if number > 0:
            print(f"You entered: {number}")
            break
        else:
            print("Number must be positive.")
    except ValueError:
        print("Invalid input. Please enter a positive integer.")

还等什么上手试一下吧.....

相关推荐
李妍.16 小时前
02Numpy基础(上)
开发语言·python
TheBestRucy16 小时前
Python 九阳神功之贰:面向对象(下)
开发语言·python
2601_9659584617 小时前
口腔黏膜脱皮超2周未愈建议及时就医
人工智能·python
AI_小站17 小时前
刚面完百度的 Agent 开发岗,我才发现:世界就是个巨大的草台班子
java·开发语言·人工智能·spring·百度·langchain
微小冷18 小时前
在不同空间中展示数据(欧式、球面、庞加莱圆盘)
python·双曲空间·微分几何·geomstats·庞加莱圆盘·球面
felixking18 小时前
C++20 协程
开发语言·c++·协程
weixin_4316004418 小时前
Agent Workflow 学习向:Code 节点,比模板更强的变量加工
后端·python·学习·ai·
讲温控就好了18 小时前
从医疗影像到能源存储——芯片冷却温控技术的跨行业赋能
人工智能·python·能源
DeepVisionary19 小时前
从 Qwen3.8-27B 把原生多模态、原生 FP8、桌面级 Agent 三件事一次集齐,看开源大模型的“工业化拐点“
python·自动化
Zane19941219 小时前
CAS 与原子类:Java 如何实现无锁编程
java·开发语言