一文学会Python编程中的循环结构——while语句
yuyutoo 2024-10-14 16:24 4 浏览 0 评论
前言
在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 + i
i =i+1
print(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 =1
while j <= 9:
result=i*j
print("%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,从而终止循环。
相关推荐
- 自卑的人容易患抑郁症吗?(自卑会导致抑郁吗)
-
Filephoto[Photo/IC]Lowself-esteemmakesusfeelbadaboutourselves.Butdidyouknowthatovert...
- 中考典型同(近)义词组(同义词考题)
-
中考典型同(近)义词组...
- BroadcastReceiver的原理和使用(broadcast-suppression)
-
一、使用中注意的几点1.动态注册、静态注册的优先级在AndroidManifest.xml中静态注册的receiver比在代码中用registerReceiver动态注册的优先级要低。发送方在send...
- Arduino通过串口透传ESP 13板与java程序交互
-
ESP13---是一个无线板子,配置通过热点通信Arduino通过串口透传ESP13板与java程序交互...
- zookeeper的Leader选举源码解析(zookeeper角色选举角色包括)
-
作者:京东物流梁吉超zookeeper是一个分布式服务框架,主要解决分布式应用中常见的多种数据问题,例如集群管理,状态同步等。为解决这些问题zookeeper需要Leader选举进行保障数据的强一致...
- 接待外国人英文口语(接待外国友人的英语口语对话)
-
接待外国人英文口语询问访客身份: MayIhaveyourname,please? 请问您贵姓? Whatcompanyareyoufrom? 您是哪个公司的? Could...
- 一文深入理解AP架构Nacos注册原理
-
Nacos简介Nacos是一款阿里巴巴开源用于管理分布式微服务的中间件,能够帮助开发人员快速实现动态服务发现、服务配置、服务元数据及流量管理等。这篇文章主要剖析一下Nacos作为注册中心时其服务注册与...
- Android面试宝典之终极大招(android面试及答案)
-
以下内容来自兆隆IT云学院就业部,根据多年成功就业服务经验,以及职业素养课程部分内容,归纳总结:18.请描述一下Intent和IntentFilter。Android中通过Intent...
- 除了Crontab,Swoole Timer也可以实现定时任务的
-
一般的定时器是怎么实现的呢?我总结如下:1.使用Crontab工具,写一个shell脚本,在脚本中调用PHP文件,然后定期执行该脚本;2.ignore_user_abort()和set_time_li...
- Spark源码阅读:DataFrame.collect 作业提交流程思维导图
-
本文分为两个部分:作业提交流程思维导图关键函数列表作业提交流程思维导图...
- 使用Xamarin和Visual Studio开发Android可穿戴设备应用
-
搭建开发环境我们需要做的第一件事情是安装必要的工具。因此,你需要首先安装VisualStudio。如果您使用的是VisualStudio2010,2012或2013,那么请确保它是一个专业版本或...
- Android开发者必知的5个开源库(android 开发相关源码精编解析)
-
过去的时间里,Android开发逐步走向成熟,一个个与Android相关的开发工具也层出不穷。不过,在面对各种新鲜事物时,不要忘了那些我们每天使用的大量开源库。在这里,向大家介绍的就是,在这个任劳任怨...
- Android事件总线还能怎么玩?(android实现事件处理的步骤)
-
顾名思义,AndroidEventBus是一个Android平台的事件总线框架,它简化了Activity、Fragment、Service等组件之间的交互,很大程度上降低了它们之间的耦合,使我们的代码...
- Android 开发中文引导-应用小部件
-
应用小部件是可以嵌入其它应用(例如主屏幕)并收到定期更新的微型应用视图。这些视图在用户界面中被叫做小部件,并可以用应用小部件提供者发布。可以容纳其他应用部件的应用组件叫做应用部件的宿主(1)。下面的截...
你 发表评论:
欢迎- 一周热门
-
-
前端面试:iframe 的优缺点? iframe有那些缺点
-
带斜线的表头制作好了,如何填充内容?这几种方法你更喜欢哪个?
-
漫学笔记之PHP.ini常用的配置信息
-
推荐7个模板代码和其他游戏源码下载的网址
-
其实模版网站在开发工作中很重要,推荐几个参考站给大家
-
[干货] JAVA - JVM - 2 内存两分 [干货]+java+-+jvm+-+2+内存两分吗
-
正在学习使用python搭建自动化测试框架?这个系统包你可能会用到
-
织梦(Dedecms)建站教程 织梦建站详细步骤
-
【开源分享】2024PHP在线客服系统源码(搭建教程+终身使用)
-
2024PHP在线客服系统源码+完全开源 带详细搭建教程
-
- 最近发表
-
- 自卑的人容易患抑郁症吗?(自卑会导致抑郁吗)
- 中考典型同(近)义词组(同义词考题)
- WPF 消息传递简明教程(wpf messagebox.show)
- BroadcastReceiver的原理和使用(broadcast-suppression)
- Arduino通过串口透传ESP 13板与java程序交互
- zookeeper的Leader选举源码解析(zookeeper角色选举角色包括)
- 接待外国人英文口语(接待外国友人的英语口语对话)
- 一文深入理解AP架构Nacos注册原理
- Android面试宝典之终极大招(android面试及答案)
- 除了Crontab,Swoole Timer也可以实现定时任务的
- 标签列表
-
- mybatis plus (70)
- scheduledtask (71)
- css滚动条 (60)
- java学生成绩管理系统 (59)
- 结构体数组 (69)
- databasemetadata (64)
- javastatic (68)
- jsp实用教程 (53)
- fontawesome (57)
- widget开发 (57)
- vb net教程 (62)
- hibernate 教程 (63)
- case语句 (57)
- svn连接 (74)
- directoryindex (69)
- session timeout (58)
- textbox换行 (67)
- extension_dir (64)
- linearlayout (58)
- vba高级教程 (75)
- iframe用法 (58)
- sqlparameter (59)
- trim函数 (59)
- flex布局 (63)
- contextloaderlistener (56)