Python语法基础_控制流

更新时间:2023-05-10 09:26:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

Python 语法基础 4程序控制流

目录 核心控制流 条件控制 循环控制

衍生控制流 嵌套 迭代 多重循环

核心控制流-条件 基本语法1 If Statements: Expression

基本语法3 If Statements :Expression

基本语法2 If Statements : Expression

elif Statements:Expression

elif Statements:Expression

else: Expression

else: Expression

范例: >>> x = int(raw_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' ...

目录 核心控制流 条件控制 循环控制

衍生控制流 嵌套 迭代 多重循环

核心控制流-循环 For循环格式:for target in sequence:Expression

示例:>>> # Measure some strings: ... a = ['cat', 'window', 'defenestrate'] >>> for x in a: ... print x, len(x) cat 3 window 6 defenestrate 12

Python的for状态控制,可以使用诸如列表List和字符串 String格式的数据。例如: a= abcdef

在控制流语句中使用break/continue/pass 示例for i in range(10):if 2==i: continue if 6==i: break if 4==I: pass print i

说明: continue #结束当前循环,进入下一步循环 break #跳出循环 pass #什么都不做,只是占位

使用限制: pass基本上没有什么限制,任何地方都可以使用 continue/break:只能出现在for/while等定义的循环中 >>> c=1 >>> if c==1: break SyntaxError: 'break' outside loop

目录 核心控制流 条件控制 循环控制

衍生控制流 嵌套 迭代 多重循环

衍生控制流-嵌套 If嵌套:if语句的嵌套是指在if语句中包 含一个或者多个if语句,格式如下所示 :If(表达式1): if(表达式2): 语句1 elif(表达式3): 语句2 else: 语句3 elif(表达式n): … else: …

If与循环的嵌套 for target in range: If statement: expression Else: expression

实践课题:遍历字符列表 [ Tom , David , Simon , Lucks ],为 Tom 输 出年龄说明,为 Simon 输出职业说明

嵌套中存在的问题 嵌套的深度不能太深 嵌套语句不易阅读 嵌套中变量的处理上:在c语言中,存在变量 的作用域,使嵌套语句中深层的程序不能访 问上层的变量(全局变量除外)。但是在 Python中,由于每个变量 被ID所唯一标示, 变量名并不是变量的唯一标示,在变量的二 次赋值中,变量的存储空间是重新分配的, 变量名称指向新的ID,旧有的数据被语言自 动释放,参见如下示例:

目录 核心控制流 条件控制 循环控制

衍生控制流 嵌套 迭代 多重循环

衍生控制流-迭代 迭代

:是数值分析中通过从一个初始估计 出发,去寻找一系列的数字,直到找到近 似解来解决问题 比如一个这样的问题:一种细菌是这样繁 殖的,一个月分裂处一个新个体,新个体 也遵从这样的规律,那么一个这样的细菌 12个月后会怎么样呢?

这是个典型的递推问题,初值是1,递推 的阀值是12,每月的数量是 第一个月 n1 = 1 第二个月 n2 = n1 + n1 * 1 = 2 第三个月 n3 = n2 + n2 * 1 = 4 第四个月 n4 = n3 + n3 * 1 = 8 。。。 第 i 个月 n(i) = n( i – 1 ) * 2 ( i >=2 )

定义n(i) 为y, n(i-1) 为x, 可以得到y = x * 2 参考程序如下:

>>> x=1 >>> y= 0 >>> for i in [2,3,4,5,6,7,8,9,10,11,12]: x*=2 y+= x >>> print y

这里使用了手动的寄存x来表示前数据,在 后面的课程中,Python提供了更高级的方 式来完成诸如此类问题 – python的迭代器 和生成器

目录 核心控制流 条件控制 循环控制

衍生控制流 嵌套 迭代 多重循环

衍生控制流-多重循环 目录 一个应用到多重循环的例子 循环输出数值(例如:冒泡排序)

如何决定循环的深度 GOTO的意义,以及“GOTO语句是有害论”

>>> for x in range(2,0,2): for z in range(1,-1): print x,z -2 1 -2 -1 01 0 -1 21 2 -1

>>> for x in range(999999): for y in range(1000): z=x*y print z

谢谢 Thank you!

本文来源:https://www.bwwdw.com/article/7koe.html

Top