简介

流程控制无非就是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

8if 语句

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 lambBreak

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!

python和控制流程_Python基础之:Python中的流程控制相关推荐

  1. python动态时钟代码_Python基础 用Python实现时钟

    语言:Python IDE:Python.IDE编写时钟程序,要求根据时间动态更新代码思路 需求:5个Turtle对象, 1个绘制外表盘+3个模拟表上针+1个输出文字 Step1:建立Turtle对象 ...

  2. python多线程详解_python基础:python多线程详解

    前言 多线程类似于同时执行多个不同程序,多线程运行有如下优点:使用线程可以把占据长时间的程序中的任务放到后台去处理. 用户界面可以更加吸引人,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进 ...

  3. 不属于python数据类型的是_python基础3 ---python数据类型二

    ython基础 一.python数据类型     ------列表(list) 1.定义:[]内以逗号分隔,按照索引,存放各种数据类型,每个位置代表一个元素 特性:可存放多个不同类型的值:可修改指定索 ...

  4. python与word交互_Python基础——与Python的指令交互

    Python是近几年兴起的一门编程语言,也是人工智能的主要语言,在TIOBE排行榜上占据着不错的位置,是许多程序员学习的对象,对于孩子来说,学习Python还是有些吃力的,我们需要从头开始一点点学起. ...

  5. python循环叠加求和_python基础教程python使用隐式循环快速求和的实现示例

    如何快速的求出1到x的和呢?代码如下: NB(注意): # 后面的部分表示输出结果. class Debug: def calculateSum(self, size): return sum(ran ...

  6. python是什么软件-零基础入门Python怎么学习?老男孩python用什么软件

    在培训学习Python时,怎么才能学好Python?随着Python技术的发展,越来越多的人开始学习Python编程语言,那么零基础入门Python该怎么学习? 1.要养成良好的代码编写习惯,注重细节 ...

  7. python 条件表达式换行_Python基础语法 - LongKing-Xu的个人空间 - OSCHINA - 中文开源技术交流社区...

    python基础语法 一.标识符 在Python中,所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头. 在Python中的标识符是区分大小写的. 在Python中以下划线开头的标识符是有 ...

  8. python之禅星号_Python基础1

    介绍Python基础,包括变量和简单数据类型.列表基础.操作列表.if语句.字典.输入函数和while循环 在文件名和文件夹名中,最好使用小写字母,并使用下划线来表示空格,因为这是Python采用的命 ...

  9. python控制语句第一章_python基础第一章

    Python基础 第一个python程序 变量 程序交互 基本数据类型 格式化输出 基本运算符 流程控制if...else... 流程控制-循环 第一个python程序 文件执行 1.用notepad ...

最新文章

  1. R语言ggplot2可视化时间序列数据并添加稳定趋势线识别数据的稳定趋势
  2. py3提取json指定内容_python3 取页面指定数据(json)
  3. SSH访问控制,多次失败登录即封掉IP,防止暴力破解
  4. LIstview滑动时不加载图片,停止时加载!
  5. SOA架构师注意的问题
  6. 【翻译】五步快速使用LINQPad尝鲜StreamInsight
  7. 企业云存储 | 为什么越来越多的NAS用户转向企业云盘?
  8. 剑指offer面试题[11]-数值的正整数次方
  9. 数学分析典型方法pdf下载_硬质合金刀具常识及使用方法 pdf下载 0700
  10. linux配置vsftp红帽子,linux红帽子VSFTPD的配置.doc
  11. 博科SAN交换机配置Trunk
  12. 网易云音乐 歌词制作软件 BesLyric
  13. STM32f401驱动【语音模块】
  14. 凑数算法 c语言,算法题解 - 牛客编程巅峰赛S1第4场 - 黄金钻石组
  15. Java——聊聊JUC中的线程中断机制 LockSupport
  16. 腾讯qq的授权管理查看页面
  17. 显示构造函数模式 — Revealing Constructor Pattern
  18. glog --- C++日志库
  19. Python机器学习及实践——基础篇9(SVM回归)
  20. 他俩很般配应该这么说

热门文章

  1. Django:应用程序的两种架构:C/S架构,B/S架构,(TCP, URL)HTTP,HTTP request, HTTP response
  2. c语言qsort函数源码,qsort源代码分析
  3. easyui加载后台数据 笔记
  4. jenkins远程构建job_jenkins分布式构建job
  5. 计算机维修技能训练,计算机维护维修技能训练指导书【参考】.doc
  6. 生成介于0.95-1的随机数MATLAB,matlab生成随机数函数
  7. 2016最新php支付平台源码,Thinkphp各大支付平台在线支付集成源码
  8. python 与零值比较,python – 使用另一个数据帧替换数据帧中的零值
  9. gnuplot使用备忘
  10. Timeline的Animation Track详解