python(23)——while循环

前言

在Python中,while 循环用于重复执行一段代码块,只要指定的条件保持为真(True)。一旦条件变为假(False),循环就会终止。while 循环通常用于在不知道循环将执行多少次的情况下进行迭代。

while循环语法格式:

  • while条件运算:
  • 程序区块

提一点:程序设计时,如果忘了设计条件可以离开循环,程序造成无限循环状态,此时可以同时按Ctrl+C键,中断程序的执行。
 

正文

循环语句在生活中的应用非常广泛,循环广告牌、批量修图、视频轮播、音乐轮播、图片轮播、大喇叭喊话、动态壁纸等等。

while循环的简单应用

i=0
while i<10:print("爱你一万年")i =i+1

通过while循环完成1—10的加和

i=1
sum=0
while i<10:sum = sum + ii =i+1print(i)
print(sum)

使用while循环完成猜数字游戏

这个是一个简单的猜数字游戏,用户需要猜一个预先设定的数字(在这个例子中是7)。程序会提示用户输入一个数字,然后根据用户的输入与预设的秘密数字(secret)进行比较,给出相应的提示。

guess=0
secret=7
times=1
print("---------欢迎参加猜数字游戏,请开始---------")
while guess!=secret:guess=int(input("@数字区间0-9,请输入你猜的数字:"))print("你输入的数字是:",guess)if guess==secret:print("你猜了{}次,猜对了。真厉害". format(times))else:if guess<secret:print("你猜的数字小于正确答案")else:print("你猜的数字大于正确答案")times+=1
print("游戏结束")

while循环的嵌套使用

嵌套循环在生活中也有许多的例子,比如:

购物清单:当你准备购物时,你可能会首先列出需要购买的商品类别(如蔬菜、水果、肉类等),然后在每个类别下列出具体的商品。这个过程可以看作是一个嵌套循环。外层循环遍历每个商品类别,内层循环遍历每个类别下的具体商品。

打印一下99乘法表

i=1
#设定i初始值
while i <= 9:j =1while j <= 9:result=i*jprint("%d*%d=%-3d" % (j, i, result), end=" ")j+=1 #内层循环加一print() #换行不输出i +=1

输出结果:

D:\anaconda2019\python.exe D:/pyprogect/py基础练习/while循环.py
1*1=1   2*1=2   3*1=3   4*1=4   5*1=5   6*1=6   7*1=7   8*1=8   9*1=9   
1*2=2   2*2=4   3*2=6   4*2=8   5*2=10  6*2=12  7*2=14  8*2=16  9*2=18  
1*3=3   2*3=6   3*3=9   4*3=12  5*3=15  6*3=18  7*3=21  8*3=24  9*3=27  
1*4=4   2*4=8   3*4=12  4*4=16  5*4=20  6*4=24  7*4=28  8*4=32  9*4=36  
1*5=5   2*5=10  3*5=15  4*5=20  5*5=25  6*5=30  7*5=35  8*5=40  9*5=45  
1*6=6   2*6=12  3*6=18  4*6=24  5*6=30  6*6=36  7*6=42  8*6=48  9*6=54  
1*7=7   2*7=14  3*7=21  4*7=28  5*7=35  6*7=42  7*7=49  8*7=56  9*7=63  
1*8=8   2*8=16  3*8=24  4*8=32  5*8=40  6*8=48  7*8=56  8*8=64  9*8=72  
1*9=9   2*9=18  3*9=27  4*9=36  5*9=45  6*9=54  7*9=63  8*9=72  9*9=81  

将代码第五行的9 改成 i ,可以减去右上角的一部分输出,增加视觉效果:

强制离开的break语句

在编程中,break 语句用于在循环(如 for 循环或 while 循环)中强制终止或跳出当前循环。当程序遇到 break 语句时,它会立即停止当前循环的执行,并跳出循环体,继续执行循环结构之后的代码。

实例查找第一个偶数

# 假设我们有一个数字列表,我们想要找到第一个偶数并打印它
numbers = [1, 3, 5, 6, 7, 8, 9]for number in numbers:if number % 2 == 0:  # 检查数字是否为偶数print("第一个偶数是:", number)break  # 找到第一个偶数后,跳出循环

while循环暂时停止不往下执行-continue指令

在编程中,continue 语句用于在循环(如 for 循环或 while 循环)中跳过当前迭代,并立即开始下一次迭代。当程序遇到 continue 语句时,它会跳过当前循环迭代中剩余的代码,并继续执行下一次迭代,这个指令通常是和if语句配合使用。

# 假设我们有一个数字列表,我们想要打印出所有的偶数  
numbers = [1, 3, 5, 6, 7, 8, 9]  for number in numbers:  if number % 2 != 0:  # 检查数字是否为奇数  continue  # 如果是奇数,跳过当前迭代  print("偶数:", number)  # 打印偶数  # 输出结果将是:  
# 偶数: 6  
# 偶数: 8

小结

  • 明确的循环条件
    • 循环条件必须明确且可以评估为 True 或 False。如果条件永远为 True,循环将无限循环下去,这通常是一个错误。
    • 循环条件应该根据实际需求来设计,确保循环能够在合适的时机终止。
  • 循环体内的变量更新
    • 在循环体内,通常会有改变循环条件的变量或状态的代码。如果没有这样的代码,循环可能会无限执行下去,或者无法达到预期的效果。
    • 确保循环体内的代码能够适当地更新循环条件中涉及的变量。
  • 避免死循环
    • 死循环是指循环条件永远无法满足,导致程序无法继续执行后续代码的情况。这通常是由于循环条件设置不当或者循环体内没有正确的变量更新造成的。
    • 在设计循环时,应该仔细考虑循环条件,确保存在一种情况可以使循环条件变为 False,从而终止循环。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/696037.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024.02.22作业

1. 将互斥机制的代码实现重新敲一遍 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <errno.h> #include <time.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <…

世界顶级名校计算机专业学习使用教材汇总

&#x1f308;个人主页: Aileen_0v0 &#x1f525;热门专栏: 华为鸿蒙系统学习|计算机网络|数据结构与算法 ​&#x1f4ab;个人格言:“没有罗马,那就自己创造罗马~” #mermaid-svg-IauYk2cGjEyljid0 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-siz…

GIS、RS、VORS模型、CCDM模型、geodetecto、GWR模型集成的生态系统健康的耦合协调分析

详情V&#xff1a;gjt0312765817632教授如何集成多源数据&#xff0c;依托ArcGIS Pro和R语言环境&#xff0c;采用“活力-组织力-恢复力-贡献力”&#xff08;VORS&#xff09;模型定量测算生态系统健康指数&#xff08;EHI&#xff09;&#xff1b;如何从经济城镇化&#xff0…

瑞_Redis_初识Redis(含安装教程)

文章目录 1 初识Redis1.1 认识NoSQL1.1.1 结构化与非结构化1.1.2 关联和非关联1.1.3 查询方式1.1.4 事务1.1.5 总结 1.2 认识Redis1.2.1 介绍1.2.2 特征1.2.3 优势 1.3 安装Redis ★★★1.3.1 Linux安装Redis1.3.1.1 安装Redis依赖 1.3.2 Windows安装Redis1.3.2.1 安装步骤1.3.…

springboot实现Aop(通知)切面编程的案例

以下是一个使用Spring Boot AOP的简单案例&#xff1a; 假设我们有一个UserService接口&#xff0c;它包含了两个方法&#xff1a;getUserById和createUser。我们希望在每个方法执行前后打印日志。 首先&#xff0c;我们需要创建一个切面类&#xff0c;用于定义我们的切面逻辑…

在Vue中使用TypeScript时 props指定枚举类型

推荐一款AI网站 AI写作与AI绘画智能创作平台 - 海鲸AI | 智能AI助手&#xff0c;可以免费领取GPT3.5无限卡 在Vue中使用TypeScript时&#xff0c;您可以通过定义一个枚举类型&#xff0c;然后在组件的props定义中使用这个枚举来指定props的类型。以下是一个如何做到这一点的例子…

Angular构建Library报错:error NG3001: Unsupported private class

报错 Unsupported private class ObjTypeSelectorComponent. This class is visible to consumers via SimpleFormsModule -> ObjTypeSelectorComponent, but is not exported from the top-level library entrypoint. 解决方案 未在index.ts / projects.ts中导出&#xf…

ETL快速拉取物流信息

我国作为世界第一的物流大国&#xff0c;但是在目前的物流信息系统还存在着几大的痛点。主要包括以下几个方面&#xff1a; 数据孤岛&#xff1a;有些物流企业各个部门之间的数据标准不一致&#xff0c;难以实现数据共享和协同&#xff0c;容易导致信息孤岛。 操作繁琐&#x…

数据结构D3作业

1. 2. 按位插入 void insert_pos(seq_p L,datatype num,int pos) { if(LNULL) { printf("入参为空&#xff0c;请检查\n"); return; } if(seq_full(L)1) { printf("表已满&#xff0c;不能插入\n"); …

unity学习(34)——角色选取界面(跨场景坑多)

先把SelectMenu中的camera的audio listener去掉。 现在还是平面&#xff0c;直接在camera下面添加两个panel即可&#xff0c;应该是用不到canvas了&#xff0c;都是2D的UI。 加完以后问题来了&#xff0c;角色选择界面的按钮跑到主界面上边了&#xff0c;而且现在账号密码都输…

CoordConv(NeurIPS 2018)

paper&#xff1a;An Intriguing Failing of Convolutional Neural Networks and the CoordConv Solution official implementation&#xff1a;https://github.com/uber-research/coordconv 存在的问题 本文揭示并分析了CNN在两种不同类型空间表示之间转换能力的欠缺&#…

远程连接 vscode 出错 “远程主机可能不符合 glibc 和 libstdc++ VS Code 服务器的先决条件”

原因&#xff1a; vscode 版本是 1.86&#xff0c;服务器上的 glibc 和 libstdc 版本不满足 要求(2.28 和 3.4.25)。 解决&#xff1a; 1、下载 1.85.2&#xff0c;解压直接运行 Code.exe。 2、回退 Remote-ssh 到 0.107.1。 参考&#xff1a; vscode 1.86版本远程ssh不兼容旧…

Leetcode155(设计最小栈)

例题&#xff1a; 分析&#xff1a; 题目要求我们必须在常数时间内检索到最小元素。 我们可以使用两个栈&#xff08;A、B&#xff09;来实现&#xff0c;A栈用来正常存储数据、弹出数据&#xff0c; B栈用于存储A栈中的最小元素&#xff0c;如下图&#xff1a; 刚开始&#…

【webpack】基础介绍

当我们深入分析Webpack时&#xff0c;可以更加详细地了解它的工作原理、构建流程、常用配置和插件。 工作原理&#xff1a; 解析模块&#xff1a; Webpack从入口文件开始&#xff0c;递归地解析模块之间的依赖关系&#xff0c;构建一个依赖图。解析过程中&#xff0c;Webpack会…

windows 10 和 11 的3个杀招软件

大家喜欢的3个windows 小工具 千万别开着杀毒软件解压 建议关闭后解压 小弟弟保证不是病毒 下载地址 : https://download.csdn.net/download/nn_84/88865566

ES6 面试题

1. const、let 和 var 的区别是什么&#xff1f; 答案&#xff1a; var 声明的变量是函数作用域或全局作用域&#xff0c;而 const 和 let 声明的变量是块级作用域。使用 var 声明的变量可以被重复声明&#xff0c;而 const 和 let 不允许重复声明同一变量。const 声明的变量…

Spring 类型转换、数值绑定与验证(一)— DataBinder

DataBinder 是Spring用于数据绑定、类型转换及验证的类。使用场景有&#xff1a;1&#xff09;xml配置文件定义bean,Spring 内部使用DataBinder 来完成属性的绑定&#xff1b;2&#xff09;Web请求参数绑定&#xff0c;在Spring MVC 中&#xff0c;Controller的方法参数通常会自…

Sora - 探索AI视频模型的无限可能

随着人工智能技术的飞速发展&#xff0c;AI视频模型已成为科技领域的新热点。而在这个浪潮中&#xff0c;OpenAI推出的首个AI视频模型Sora&#xff0c;以其卓越的性能和前瞻性的技术&#xff0c;引领着AI视频领域的创新发展。让我们将一起探讨Sora的技术特点、应用场景以及对未…

【Linux】Linux应用程序中需要忽略的信号:SIGPIPE、SIGHUP、SIGINT;以及信号详解

1、常用信号 1.1 SIGPIPE 当服务器关闭一个连接后,若客户端继续发送数据,系统会发送要给SIGPIPE信号给客户端所在的进程,该信号的默认处理是终止进程; 反过来,客户端断开socket连接, 服务端向一个失效的socket发送数据,也将导致服务的进程退出。 如果不想退出,需要忽…

Stable Diffusion 模型分享:Indigo Furry mix(人类与野兽的混合)

本文收录于《AI绘画从入门到精通》专栏,专栏总目录:点这里。 文章目录 模型介绍生成案例案例一案例二案例三案例四案例五案例六案例七案例八案例九案例十