Python 中的 while 循环

PythonPythonBeginner
立即练习

💡 本教程由 AI 辅助翻译自英文原版。如需查看原文,您可以 切换至英文原版

简介

欢迎来到魔法海洋的奇幻世界,我们的主角——睿智的航海法师,正在探寻古代海洋咒语的秘密。在漩涡涌动的海面和神秘生物之中,航海法师需要穿越各个岛屿,每个岛屿都藏着神秘谜题的一部分。但海洋危机四伏,前路不明。为了成功完成任务,航海法师必须精通 Python 魔法,尤其是“while 循环”这个咒语。

我们的目标是帮助航海法师掌握 while 循环的力量,从而完成这段史诗般的旅程,确保不遗漏任何一个岛屿,揭开所有秘密。你准备好扬帆起航,踏上这段编程之旅了吗?


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ControlFlowGroup(["Control Flow"]) python/ControlFlowGroup -.-> python/while_loops("While Loops") subgraph Lab Skills python/while_loops -.-> lab-271607{{"Python 中的 while 循环"}} end

扬帆起航

在这一步中,你将帮助航海法师为他们的旅程扬起风帆。首先,你将创建一个咒语(脚本),使用 while 循环每天检查风向,直到找到完美的风向。我们将通过生成随机风向并在循环中进行测试来模拟这一过程。

使用你喜欢的编辑器编辑 /home/labex/project/wind_checker.py 文件,并插入以下代码:

import random

## 定义风向
possible_directions = ["north", "south", "east", "west"]
## 将完美风向设置为东风
perfect_direction = "east"

## 开始 while 循环
while True:
    ## 模拟检查风向
    current_direction = random.choice(possible_directions)
    print(f"风从 {current_direction} 方向吹来。")

    ## 检查风向是否完美
    if current_direction == perfect_direction:
        print("啊哈!扬起风帆的完美风向!")
        break
    else:
        print("不利于航行。明天再检查吧。")

运行脚本:

python wind_checker.py

这个脚本将无限循环,直到 current_direction 与设置为 “east” 的 perfect_direction 匹配。每次循环运行时,它都会模拟等待新的一天并再次检查风向。

你的终端上应该会显示以下信息:

风从北方吹来。
不利于航行。明天再检查吧。
风从西方吹来。
不利于航行。明天再检查吧。
风从东方吹来。
啊哈!扬起风帆的完美风向!

收集物资

在这一步中,航海法师需要为旅程收集足够的物资。我们将通过创建一个 provisions.py 脚本来模拟这一过程,该脚本使用 while 循环来计算收集到的物资数量,直到达到所需数量。

打开 /home/labex/project/provisions.py 并添加以下代码:

## 所需物资数量
needed_provisions = 10
collected_provisions = 0

## 开始 while 循环
while collected_provisions < needed_provisions:
    ## 收集物资
    collected_provisions += 1
    print(f"收集到的物资: {collected_provisions}")

print("所有必要物资已收集!准备启航。")

运行脚本:

python provisions.py

这段代码将使用 while 循环收集物资,直到 collected_provisions 等于或超过 needed_provisions

你的终端上应该会显示以下信息:

收集到的物资: 1
收集到的物资: 2
收集到的物资: 3
收集到的物资: 4
收集到的物资: 5
收集到的物资: 6
收集到的物资: 7
收集到的物资: 8
收集到的物资: 9
收集到的物资: 10
所有必要物资已收集!准备启航。

总结

在这个实验中,我们的旅程围绕着航海法师踏上神奇航行的故事展开。通过编写 Python 的 while 循环,你帮助法师等待合适的风向并收集足够的物资。这种叙事方式旨在在强化循环基础知识的同时,灌输冒险意识,激发创造力,并将代码与生动的故事情节相联系。

通过将编程概念想象成沉浸式叙事中的神奇元素,我们不仅学会了控制代码的流程,还激发了自己的思维去探索无尽的可能性。航海法师的成功反映了你对 while 循环的掌握,而这个实验仅仅是你在编程的广阔海洋中进行 Python 之旅的起点。扬帆起航吧!