凡客的网站功能,个人怎么做购物网站,深圳交易服务中心官网,深圳建设行业网站Python 控制流是指控制程序执行顺序的机制#xff0c;它允许程序根据不同的条件和情况执行不同的代码块或重复执行某些代码。 while 循环的用法与示例 语法结构及要点
在 Python 中#xff0c;while循环是一种基于条件判断的循环结构#xff0c;其语法构成如下#xff1a;… Python 控制流是指控制程序执行顺序的机制它允许程序根据不同的条件和情况执行不同的代码块或重复执行某些代码。 while 循环的用法与示例 语法结构及要点
在 Python 中while循环是一种基于条件判断的循环结构其语法构成如下 while 循环条件: 循环体代码 这里的 “循环条件” 通常是一个布尔表达式也就是其结果会被判定为真True或者假False的表达式常见的如比较运算像 、、、、、! 等、逻辑运算and、or、not 等组成的表达式都可以充当循环条件。
而 “循环体代码” 就是在满足循环条件的情况下会被重复执行的一段代码它需要进行缩进一般推荐使用四个空格来缩进并且在同一个while循环的循环体中缩进量要保持一致不然 Python 解释器可能会报错或者出现不符合预期的执行逻辑。
例如我们想要实现一个简单的从 1 累加到某个数字的操作可以这样写代码 num 1 sum_result 0 while num 10: # 循环条件为num小于等于10 sum_result num num 1 # 改变num的值否则可能陷入死循环 print(sum_result)
在上述代码中首先初始化了变量num为 1 以及用于累加结果的变量sum_result为 0然后通过while循环只要num小于等于 10 这个条件成立就会执行循环体中的代码也就是不断把num累加到sum_result中并且每次循环让num的值加 1直到num大于 10 时循环结束最终输出累加的结果。可以看到循环条件的设置至关重要它决定了循环何时开始以及何时结束而循环体代码则是我们期望重复执行的具体操作内容。
条件循环示例
下面来看一些具体的条件循环示例帮助大家更好地理解while循环的运行逻辑。
假设我们要实现一个功能统计一个正整数从自身开始每次减 1直到减到 1 为止的过程中所有数字的和。代码示例如下 n 10 # 这里假设初始的正整数为10可自行更改这个值进行测试 total_sum 0 while n 0: total_sum n n - 1 print(f从{n 1}累加到1的总和是: {total_sum})
在这段代码里首先定义了变量n表示初始的正整数total_sum用来记录累加的和。然后while循环的条件是n 0只要这个条件满足就会执行循环体代码在循环体中把当前的n累加到total_sum里并且让n的值减 1如此反复直到n不大于 0 了循环结束最后输出累加的总和。
再比如我们要输出一个列表中所有大于 5 的元素代码可以这样写 num_list [3, 7, 1, 9, 4, 8] index 0 while index len(num_list): if num_list[index] 5: print(num_list[index]) index 1 这里先定义了一个包含若干数字的列表num_list同时初始化了一个索引变量index为 0。通过while循环以index小于列表长度作为循环条件在循环体中先判断当前索引位置的列表元素是否大于 5如果大于 5 就输出该元素然后让index的值加 1去检查下一个位置的元素直到遍历完整个列表循环结束。
无限循环及控制示例
在 Python 中有一种特殊情况就是while True这样的写法它代表着一个无限循环因为条件True始终是成立的。不过在实际应用中我们通常需要结合一些条件判断以及控制语句比如if语句和break语句等来合理地终止这个无限循环避免程序陷入死循环无法停止。
例如我们可以通过不断接收用户输入的成绩然后判断成绩等级并输出相应提示直到用户输入特定的结束标识这里假设输入 -1 表示结束来结束循环代码如下 while True: score input(请输入成绩输入 -1 结束程序) score float(score) # 将输入的字符串转换为数值类型 if score -1: print(程序结束) break elif score 90: print(优秀) elif score 80: print(良好) elif score 70: print(中等) elif score 60: print(及格) else: print(不及格) 在上述代码中while True开启了一个无限循环每次循环都会提示用户输入成绩然后把输入的字符串转换为数值类型后进行条件判断。如果用户输入的是 -1就会执行if语句中的break语句从而终止整个while循环如果输入的是其他成绩数值就会进入相应的成绩等级判断elif语句块输出对应的等级提示接着又会回到循环开头继续等待下一次用户输入如此反复直到接收到结束标识退出循环。
再比如模拟一个简单的猜数字游戏让用户不断猜测一个预先设定好的数字这里假设数字为 50直到猜对为止代码实现如下 secret_number 50 while True: guess int(input(请猜一个数字)) if guess secret_number: print(恭喜你猜对啦) break elif guess secret_number: print(猜大了哦再猜猜看。) else: print(猜小了哦再猜猜看。)
在这个例子里同样是while True的无限循环结构用户每次输入猜测的数字后通过if-elif语句进行判断如果猜对了就执行break语句结束循环要是猜大了或者猜小了就会给出相应提示然后继续循环让用户再次猜测直到猜对数字为止。 模拟 do while 循环示例
在 Python 中并没有内置像其他一些编程语言如 C、C 等那样的do while循环结构但我们可以通过一定的代码修改来模拟实现类似的效果也就是保证循环体代码至少执行一次后再根据条件判断是否继续循环。
以下是模拟do while循环的一般步骤及示例
步骤一初始化循环条件变量并且设置一个初始值使得循环体能够至少执行一次例如 condition True 步骤二使用while循环将刚才初始化的条件变量作为循环条件在循环体中编写我们期望至少执行一次且后续根据条件判断是否重复执行的代码示例如下 while condition: print(这是循环体代码至少会执行一次哦。) # 这里可以添加更多循环体的具体操作代码 步骤三在循环体执行完一次后添加代码来检查和更新循环条件变量的值根据实际需求决定是否继续循环比如 while condition: print(这是循环体代码至少会执行一次哦。) # 模拟一些操作后根据情况更新条件变量 user_input input(你想继续循环吗输入y继续其他任意字符结束) if user_input.lower()! y: condition False 完整的示例代码如下 condition True while condition: print(正在执行循环体的操作...) user_choice input(输入1继续循环输入其他数字结束循环) if user_choice! 1: condition False
在这个示例中一开始condition为True所以循环体代码会先执行一次输出相应提示信息然后提示用户输入内容来决定是否继续循环。如果用户输入的不是 “1”就会把condition设置为False下次循环判断条件时就不满足了循环就会结束以此实现了类似其他语言中do while循环 “先执行一次再根据条件判断后续是否继续” 的功能特点。