Python 流程控制语句

分支与循环

一、分支

if…else

如果遇到二选一的条件,使用if else分支,其语法结构如下

if 表达式:
	语句块1
else:
	语句块2

流程图如下:

ture
false
表达式
语句块1
语句块2

if…else语句还可简化,该简化形式与C++中的三目运算符相似以下面代码为例:

a = 1
if a > 0:
	b = a
else:
	b = -a

简写为

a = 1
b = a if a > 0 else -a

if…elif…else

elif相当于把else if缩写在了一起,该语句等同于C++中的if…else if…else,我们直接看流程图:

ture
false
true
false
true
false
表达式
语句块1
表达式2
语句块2
表达式3
语句块3
语句块n

语法格式如下:

if 表达式1:
	语句块1
elif 表达式2:
	语句块2
elif 表达式3:
	语句块3
...
else:
	语句块 n

elif和else都必须和if一起使用,不能单独使用

if语句的嵌套:

注意:一定要严格控制缩进量

if 表达式1:
	if 表达式2:
		语句块1
	else:
		语句块2
else:
	if 表达式 3:
		语句块3
	else:
		语句块4

二、循环

1.while循环

while 表达式为真时执行:
	循环体

流程图:

true
false
开始
条件表达式
循环体
结束

2.for循环

for 变量 in 对象:
	循环体

对于for循环我们直接用流程图说明:

true
false
开始
序列中是否还有项
取下一项
循环体
结束

如输出1-100:

for i in range(101):
	print(i)

range()函数也是Py的一个内置函数,它的作用是生成一系列的整数,其语法格式如下:

range(start,end,step)
  • start:计数起始值,省略则从0开始。
  • end:计数结束值(不包括本值),如range(3)表示0~2,不可省略!
  • step:步长。
    重点: 使用range()函数时,如果只有一个参数,那么表示指定的是 end值,如果是两个参数,则表示的是start和end,只有三个参数都在时步长才可以表示出来。

典例:输出10以内的所有奇数:

for i in range(1,10,2):
	print(i,end = ' ')

输出结果:1 3 5 7 9

这里专门说明一下end= ’ '这个语句,它表明结束是以空格的方式结束,如果不加这个则默认为换行,输出结果如下:

1
3
5
7
9

遍历字符串:
如string= ‘我是一个字符串’
如果直接print(string),则会将其整个输出,我们也可以用for循环对其遍历输出:

string = '我是一个字符串'
for i in string:
	print(i)

结合前面提到过的end,其输出结果:

我
是
一
个
字
符
串

横向输出而不空格:

for i in string:
	print(i,end = '')

#结果
我是一个字符串

循环嵌套:原理完全一样,举一个例子:

while 表达式1while 表达式2:
		循环体2
	循环体1

其他for for嵌套,for while嵌套和其格式一样,把握好缩进即可。

跳转语句

1.break

遇到break即跳出循环

2.continue

遇到后跳出本次循环进行下一次循环

补充:pass空语句:占位置用的,没别的作用
例子:

for i in range(1,10):
	if a == 5:
		print(a)
	else:
		pass
		#程序只会输出5

你可能感兴趣的:(知识点)