Python中的while循环

简介

在Python编程语言中,while循环是一种用于重复执行一段代码块的控制结构。它允许我们根据条件的真假来决定是否继续执行循环体中的代码。

与for循环不同,while循环的次数是不确定的,因为它是根据条件来判断是否继续执行。只要条件为真,循环就会继续执行。

在本文中,我们将介绍while循环的基本语法和用法,并通过一些示例代码来说明其应用。

基本语法

while循环的基本语法如下所示:

while condition:
    # 循环体代码

在这个语法中,condition是一个布尔表达式,用于判断循环是否继续执行。只要该条件为真,循环将一直执行循环体中的代码。

示例代码

以下是一个简单的示例代码,演示了如何使用while循环计算1到10的和:

sum = 0
num = 1

while num <= 10:
    sum += num
    num += 1

print("1到10的和为", sum)

在上面的代码中,我们使用了两个变量sumnumsum用于存储和的结果,num用于迭代从1到10的数字。

while循环的条件是num <= 10,只要num小于等于10,循环就会继续执行。

循环体中的代码sum += num用于将num的值加到sum中,num += 1用于递增num的值。

最后,我们使用print函数输出计算结果。

输出结果为:

1到10的和为 55

while循环的应用

以下是一些常见的使用while循环的场景:

数字猜谜游戏

import random

number = random.randint(1, 100)
guess = 0
tries = 0

while guess != number:
    guess = int(input("猜一个1到100的数字: "))
    tries += 1

    if guess < number:
        print("太小了!")
    elif guess > number:
        print("太大了!")
    else:
        print("猜对了!")
        print("你用了", tries, "次猜对了。")

在上述代码中,我们生成了一个1到100之间的随机数。然后,使用while循环让用户猜这个数字。

循环条件是guess != number,只要用户的猜测和生成的随机数不相等,循环就会继续执行。

根据用户的猜测,我们输出相应的提示信息。如果猜对了,循环结束。

文件读取

file = open("data.txt", "r")
line = file.readline()

while line != "":
    print(line)
    line = file.readline()

file.close()

在这个示例中,我们打开一个名为data.txt的文件,并使用while循环逐行读取文件内容。

循环条件是line != "",只要读取的行不为空,循环就会继续执行。

在循环体中,我们使用print函数输出每一行的内容。循环结束后,我们关闭文件。

类图

下面是一个使用mermaid语法表示的while循环的类图:

classDiagram
    class WhileLoop {
        <<loop>>
        +condition: bool
        +execute(): void
    }

    class CodeBlock {
        +execute(): void
    }

    class LoopControl {
        +execute(): void
    }

    WhileLoop --> CodeBlock
    WhileLoop --> LoopControl

在这个类图中,有三个类:WhileLoop、CodeBlock和LoopControl。

WhileLoop类表示while循环的结构,它具有一个布尔类型的condition属性,和一个execute方法。

CodeBlock类表示while循环中的代码块,它也有一个execute方法。

LoopControl类表示while循环的控制流程,它也有一个execute方法。