今天讲解Python的流程控制,流程控制也比较简单,小白不想整的很复杂,以免让大家看了有一种望“文”生怯的想法。
通常的程序设计语言有三种控制结构。
代码从上而下顺序执行。
>>> a = 0
>>> a = a + 1
>>> print(a)
1
if cond1:
block1
elif cond2:
block2
>>> if 1 < 2:
... print('1 less 2')
...
...
1 less 2
>>> print('main block')
main block
分支结构永远只有一个分支会被执行。
语句结构:
while cond:
block
一个例子,
>>> a = 0
>>> while a < 10:
... print(a)
... a += 1
...
...
0
1
2
3
4
5
6
7
8
9
通常在while循环中,循环体中需要修改条件,以使得条件为假。
循环中可以使用break及continue关键字,以使循环得以停止或继续下一轮循环:
>>> a = 0
>>> while a < 10:
... if a == 5:
... break
... else:
... print(a)
... a += 1
...
...
0
1
2
3
4
for循环,
for element in iterator:
block
循环体中绝对不要修改可迭代对象。如下的代码可能会导致机器死机或重启,
lst = range(0, 10)
for i in lst:
lst.append(i)
结构可以嵌套的,
>>> for i in range(0, 10):
... if i % 2 == 0:
... print(i)
...
...
...
0
2
4
6
8
break用于提前结束循环。continue用于跳过之后的语句。
break的示例,
>>> for i in range(0, 10):
... print(i)
... if i > 3:
... break
...
...
...
0
1
2
3
4
continue的示例,
>>> for i in range(0, 10):
... if i == 3:
... continue
... print(i)
...
...
0
1
2
4
5
6
7
8
9
求素数,
a = 7
for i in range(2, a):
if a % i == 0:
break
else:
print('yes')
循环结构中else子句判断循环有没有提前退出,如果提前退出了,else子句不执行,如果没有提前退出,执行else。
多重循环,
is_break = False
for i in range(0, 10):
for x in range(0, 10):
if x >= 3:
is_break = True
break
print('x = {0}'.format(x))
if is_break:
break
x = 0
x = 1
x = 2
一段小代码,
NUM = 35
for _ in range(0, 3): # 这里的下划线表示,不需要使用到该变量
user_input = int(input('pls input a number: '))
if user_input == NUM:
print('you win')
break
elif user_input < NUM:
print('less')
else:
print('big')
else:
print('you lose')
打印杨辉三角,
import math
for n in range(0, 10):
if n == 0:
print(1)
else:
for m in range(0, n+1):
num = math.factorial(n) // (math.factorial(m) * math.factorial(n-m))
print(num, end=' ')
print()
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
打印2到100的素数,
for n in range(2, 101):
for x in range(2, n):
if n % x == 0:
break
else:
print(n)
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
59
61
67
71
73
79
83
89
97
今天主要讲解了三种程序流程控制:
总体来说,三种流程控制结构不是很难,稍加练习,结合前面所学的知识点,就可以写出一般的Python程序了。