Python中的流程控制详解
作者:flydean 发布时间:2023-07-22 20:31:54
目录
while语句
if 语句
for语句
Break
Continue
Pass
流程控制无非就是if else之类的控制语句,今天我们来看一下Python中的流程控制会有什么不太一样的地方。
while语句
python中的while语句和其他语言没有什么不一样,我使用while语句来编写一个斐波拉赫数列:
In [56]: while x < 10 :
...: print(x)
...: x, y = y, x+y
...:
0
1
1
2
3
5
8
if 语句
python中的 if 可以和 elif 或者 else 配合使用:
>>> x = int(input("Please enter an integer: "))
Please enter an integer: 42
>>> if x < 0:
... x = 0
... print('Negative changed to zero')
... elif x == 0:
... print('Zero')
... elif x == 1:
... print('Single')
... else:
... print('More')
...
More
if语句很简单,这里就不做过多的介绍。
for语句
Python中的for语句主要用来对序列进行迭代,比如列表或者字符串:
In [57]: ages = [ 10, 14, 18, 20 ,25]
In [58]: for age in ages:
...: print(age)
...:
10
14
18
20
25
遍历过程中,为了防止在遍历的时候原序列被修改,我们可以遍历序列的拷贝:
In [59]: for age in ages.copy():
...: print(age)
...:
10
14
18
20
25
for语句和range()函数的结合,可以得到不一样的效果。
range()用来生成给定范围内的集合:
In [61]: for age in range(5):
...: print(age)
...:
0
1
2
3
4
range()函数还可以带步长作为第三个参数:
In [62]: for age in range(5, 10 , 2):
...: print(age)
...:
5
7
9
Range()和len()组合,可以方便的变量列表:
>>> a = ['Mary', 'had', 'a', 'little', 'lamb']
>>> for i in range(len(a)):
... print(i, a[i])
...
0 Mary
1 had
2 a
3 little
4 lamb
Break
break用来跳出最近的for或者while循环。
要注意的是,for循环可以和else一起使用:
In [64]: for n in range(2, 10):
...: for x in range(2, n):
...: if n % x == 0:
...: print(n, 'equals', x, '*', n//x)
...: break
...: else:
...: print(n, 'is a prime number')
...:
2 is a prime number
3 is a prime number
4 equals 2 * 2
5 is a prime number
6 equals 2 * 3
7 is a prime number
8 equals 2 * 4
9 equals 3 * 3
循环中的else语句,会在for循环执行完毕,之后执行。如果我们使用break对for循环进行了中断,那么else语句将不会被执行。
Continue
continue用来跳过此次循环中的后面部分,继续执行下一次循环。
还是刚才的例子,我们使用continue进行改装:
In [68]: for n in range(2, 10):
...: for x in range(2, n):
...: if n % x == 0:
...: print(n, 'equals', x, '*', n//x)
...: continue
...: else:
...: print(n, 'is a prime number')
...:
2 is a prime number
3 is a prime number
4 equals 2 * 2
4 is a prime number
5 is a prime number
6 equals 2 * 3
6 equals 3 * 2
6 is a prime number
7 is a prime number
8 equals 2 * 4
8 equals 4 * 2
8 is a prime number
9 equals 3 * 3
9 is a prime number
可以看到,在continue中,else语句会一直执行。
Pass
pass表示的是什么都不做。是一个空的执行。
通常我们使用pass作为函数或条件子语句的占位符,表示具体的内容可以在未来进行填充。
可以在while中使用pass:
>>> while True:
... pass # Busy-wait for keyboard interrupt (Ctrl+C)
...
可以在类中使用pass:
>>> class MyEmptyClass:
... pass
...
可以在函数中使用pass:
>>> def initlog(*args):
... pass # Remember to implement this!
...
来源:http://www.flydean.com/04-python-condition-control/
猜你喜欢
- 为index.php文件设置只读属性后,木马就没权限给你文件末尾追加广告了。下面我们看具体的代码,设置index.php只读:<?ph
- 0. 学习目标栈和队列是在程序设计中常见的数据类型,从数据结构的角度来讲,栈和队列也是线性表,是操作受限的线性表,它们的基本操作是线性表操作
- 目录1、吃金币2、打乒乓3、滑雪4、并夕夕版飞机大战5、打地鼠6、小恐龙7、消消乐8、俄罗斯方块9、贪吃蛇10、24点小游戏11、平衡木12
- 本文实例讲述了php实现的一段简单概率相关代码。分享给大家供大家参考,具体如下:<?phpfor($i=1;$i<100000;
- 工欲善其事,必先利其器.python是解释型的语言,但是在windows下如果要执行程序的话还得加个python shell的话,
- 从 Google 的一个细节说起:整个虚线框都是“Next”的可点击区域。看似不经意,却直接提升了细节的可用性。其它页码也巧妙地和上面的字母
- 学习前言上一篇讲了如何构建回归算法,这一次将怎么进行简单分类。Keras中分类的重要函数1、np_utils.to_categoricaln
- 一、创建元组tup1 = ('physics', 'chemistry', 1997, 2000);tup2
- Rs.Open参数说明在ASP中经常用Rs.Open sql,conn,1,1这样的方式打开数据库,但仍有一部分同行不知道这是嘛意思,现整理
- 限制访问可以基于某种权限,某些检查或者为login视图提供不同的位置,这些实现方式大致相同。一般的方法是直接在视图的 request.use
- 我就废话不多说了,大家还是直接看代码吧~one = tf.ones_like(label)zero = tf.zeros_like(labe
- 0、背景今天看到了一个比较诡异的写法,for后直接跟了else语句,起初还以为是没有缩进好,查询后发现果然有这种语法,特此分享。之前写过c+
- 由于需求没有做好或者客户是外行,不能很好的配合你做好需求,我在使用asp+access的时候非常头疼,遇到数据结构的改动,就必须修改acce
- Python字符串字符串或串(String)是由数字、字母、下划线组成的一串字符。一般记为 :s="a1a2···an"
- 一、查询条件精确,针对有参数传入情况 二、SQL逻辑执行顺序 FROM-->JOIN-->WHERE-->GROUP--&
- 与没有数据库的网站相比,数据库的存取会降低你的系统性能。但是大多数情况下,网站和数据库有密不可分的关系,正是数据库给站点提供了大容量、多样性
- function rss_locale_date ($fmt, $ts, $addTZOffset&
- 前言当我们在用python时可能会遇到想要把txt文档里的数据读取出来然后进行绘图,那么我们要怎么才能够将txt里的数据读取出来呢?假设有t
- 前言for...in 是Python程序员使用最多的语句,for 循环用于迭代容器对象中的元素,这些对象可以是列表、元组、字典、集合、文件,
- html_downloaderfrom urllib import requestdef download(url): &nb