- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Python循环语句代码详解:while、for、break由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
.1 while循环 。
循环语句是程序设计中常用的语句之一。任何编程语言都有while循环,Python也不例外。while循环的格式如下所示.
while(表达式): 。
… 。
else: 。
… 。
while循环的执行过程:当循环表达式为真时,依次执行while中的语句。直到循环表达式的值为False,程序的流程转到else语句。其中else子句可以省略,表达式两侧的括号也可以省略.
。
注意:while循环中的else子句也属于循环的一部分,最后一次循环结束后将执行else子句.
下面这段代码演示了while循环的使用。程序首先要求输入5个数字,然后依次输出这5个数字.
# while循环 。
numbers = input("输入几个数字,用逗号分隔:").split(",") 。
print(numbers) 。
x = 0 。
while x < len(numbers): # 当x的值小于输入字数的个数的时候,执行循环内容 。
print (numbers[x]) 。
x += 1 # 一个循环结束时给x加1 。
【代码说明】 。
下面【例3-6】中的这段代码演示了else子句在while循环中的使用。当变量x的值大于0时,执行循环,否则输出变量x的值.
【例3-6.py】 。
# 带else子句的while循环 。
x = float(input("输入x的值:")) # 接收用户输入的数字并转换为float类型 。
i = 0 。
while(x != 0): # Python 3中的不等于不再使用<>,一律使用!= 。
if(x > 0): 。
x -= 1 # 如果x大于0,则减1 。
else: 。
x += 1 # 如果x小于0,则加1 。
ii = i + 1 。
print( "第%d次循环:%f" %(i, x)) 。
else: 。
print ("x等于0:", x) 。
【代码说明】 。
在使用循环语句时,应注意循环表达式的布尔值,避免出现死循环。死循环是指循环条件永远为真的循环。例如:
i = 1 。
while i > 0: # i永远大于0 。
ii = i + 1 。
print(i) 。
这段代码就是一个死循环,变量i的值永远都大于0.
2. for循环 。
for循环用于遍历一个集合,依次访问集合中的每个项目。for循环的格式如下所示.
for 变量 in 集合: 。
… 。
else: 。
… 。
for…in…循环的执行过程:每次循环从集合中取出一个值,并把该值赋值给变量。集合可以是元组、列表、字典等数据结构。其中else子句可以省略.
注意:for循环中的else子句也属于循环的一部分,最后一次循环结束后将执行else子句.
for…in…循环通常与range()函数一起使用,range()返回一个列表,for…in…遍历列表中的元素。range()函数的声明如下:
class range(object) 。
range(stop) -> range object 。
range(start, stop[, step]) -> range object 。
【代码说明】 。
range()返回一个range对象,列表的元素值由3个参数决定:参数start表示列表开始的值,默认值为0;参数stop表示列表结束的值,该参数不可缺少;参数setp表示步长,即每次递增或递减的值,默认值为1.
下面【例3-7】中的这段代码遍历range()生成的列表,过滤出正数、负数和0.
【例3-7.py】 。
# for in语句 。
for x in range(-1, 2): 。
if x > 0: 。
print ("正数:",x) 。
elif x == 0 : 。
print ("零:",x) 。
else: 。
print ("负数:",x) 。
else: 。
print ("循环结束") 。
【代码说明】 。
在C、Java语言中,支持如下结构的for语句.
for(表达式1; 表达式2; 表达式3) 。
语句块 。
Python不支持这样的for循环。如果需要编写类似功能的循环,可以使用while循环。例如:
x = 0 。
while x < 5: 。
print(x) 。
xx = x + 2 。
while循环的写法比较琐碎,需要比较判断。因此,对此也可以使用for循环,借助range()函数来实现。例如:
for x in range(0, 5, 2): 。
print (x) 。
【代码说明】 。
输出的数字在[0,5)这个区间,不包括5。每次循环结束,x的值加2。输出结果:
0 。
2 。
4 。
这里只用了两行代码就实现了传统for循环。如果要用条件表达式作为循环的条件,可以构造range()函数来实现.
3. break和continue语句 。
break语句可以使程序跳出循环语句,从而执行循环体之外的程序,即break语句可以提前结束循环。例如,模拟switch分支结构使用了break语句.
operator = "+" 。
x = 1 。
y = 2 。
for case in switch(operator): # switch只能用于for... in...循环中 。
if case('+'): 。
print (x + y) 。
break 。
if case('-'): 。
print (x - y) 。
break 。
if case('*'): 。
print (x * y) 。
break 。
if case('/'): 。
print (x / y) 。
break 。
if case(): # 默认分支 。
print ("") 。
【代码说明】 。
第7行代码中使用了break。当变量operator的值为“+”,则执行表达式x + y,然后中断switch分支结构,后面的case分支都不会执行。此时输出结果为3。后面的break作用相同。当匹配到某个case后,程序将跳出switch.
如果第一个case不使用break子句,程序将输出两个值,分别是3和-1。因为执行完输出表达式x + y后,分支结构并没有中断,程序将流转到下面一个case。然后继续计算表达式x – y的值,遇到后面的break语句才退出分支结构。break语句在循环结构中也有类似的作用。【例3-8】中的这段代码将从0到99中查找用户输入的值.
【例3-8.py】 。
x = int(input("输入x的值:")) 。
y = 0 。
for y in range(0, 100): 。
if x == y: 。
print ("找到数字:", x) 。
break 。
else: 。
print("没有找到") 。
【代码说明】 。
注意:break语句不能运行在循环体或分支语句之外,否则,Python解释器将提示如下错误.
SyntaxError: 'break' outside loop 。
continue语句也是用来跳出循环的语句,但是与break不同的是,使用continue语句不会跳出整个循环体,只是跳出当前的循环,然后继续执行后面的循环.
x = 0 。
for i in [1,2,3,4,5]: 。
if x == i: 。
continue 。
x += i 。
print("x的值为", x) 。
【代码说明】 。
原文地址:https://www.toutiao.com/i6904548576245203469/ 。
最后此篇关于Python循环语句代码详解:while、for、break的文章就讲到这里了,如果你想了解更多关于Python循环语句代码详解:while、for、break的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我尝试理解[c代码 -> 汇编]代码 void node::Check( data & _data1, vector& _data2) { -> push ebp -> mov ebp,esp ->
我需要在当前表单(代码)的上下文中运行文本文件中的代码。其中一项要求是让代码创建新控件并将其添加到当前窗体。 例如,在Form1.cs中: using System.Windows.Forms; ..
我有此 C++ 代码并将其转换为 C# (.net Framework 4) 代码。有没有人给我一些关于 malloc、free 和 sprintf 方法的提示? int monate = ee; d
我的网络服务器代码有问题 #include #include #include #include #include #include #include int
给定以下 html 代码,将列表中的第三个元素(即“美丽”一词)以斜体显示的 CSS 代码是什么?当然,我可以给这个元素一个 id 或一个 class,但 html 代码必须保持不变。谢谢
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 7 年前。
我试图制作一个宏来避免重复代码和注释。 我试过这个: #define GrowOnPage(any Page, any Component) Component.Width := Page.Surfa
我正在尝试将我的旧 C++ 代码“翻译”成头条新闻所暗示的 C# 代码。问题是我是 C# 中的新手,并不是所有的东西都像 C++ 中那样。在 C++ 中这些解决方案运行良好,但在 C# 中只是不能。我
在 Windows 10 上工作,R 语言的格式化程序似乎没有在 Visual Studio Code 中完成它的工作。我试过R support for Visual Studio Code和 R-T
我正在处理一些报告(计数),我必须获取不同参数的计数。非常简单但乏味。 一个参数的示例查询: qCountsEmployee = ( "select count(*) from %s wher
最近几天我尝试从 d00m 调试网络错误。我开始用尽想法/线索,我希望其他 SO 用户拥有可能有用的宝贵经验。我希望能够提供所有相关信息,但我个人无法控制服务器环境。 整个事情始于用户注意到我们应用程
我有一个 app.js 文件,其中包含如下 dojo amd 模式代码: require(["dojo/dom", ..], function(dom){ dom.byId('someId').i
我对“-gencode”语句中的“code=sm_X”选项有点困惑。 一个例子:NVCC 编译器选项有什么作用 -gencode arch=compute_13,code=sm_13 嵌入库中? 只有
我为我的表格使用 X-editable 框架。 但是我有一些问题。 $(document).ready(function() { $('.access').editable({
我一直在通过本教程学习 flask/python http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-wo
我想将 Vim 和 EMACS 用于 CNC、G 代码和 M 代码。 Vim 或 EMACS 是否有任何语法或模式来处理这种类型的代码? 最佳答案 一些快速搜索使我找到了 this vim 和 thi
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve this
这个问题在这里已经有了答案: Enabling markdown highlighting in Vim (5 个回答) 6年前关闭。 当我在 Vim 中编辑包含 Markdown 代码的 READM
我正在 Swift3 iOS 中开发视频应用程序。基本上我必须将视频 Assets 和音频与淡入淡出效果合并为一个并将其保存到 iPhone 画廊。为此,我使用以下方法: private func d
pipeline { agent any stages { stage('Build') { steps { e
我是一名优秀的程序员,十分优秀!