程序控制结构
通常的程序设计语言有三种控制结构。
顺序结构
代码从上而下顺序执行。
a = 0a = a + 1print(a)
分支结构
if cond1: block1elif cond2: block2if 1 < 2: print('1 less 2')print('main block')
分支结构永远只有一个分支会被执行。
循环结构
white语句
for语句
语句结构:
while cond: block
一个例子,
a = 0while a < 10: print(a) a += 1
通常在while循环中,循环体中需要修改条件,以使得条件为假。
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)
break用于提前结束循环。continue用于跳过之后的语句。
break的示例,
for i in range(0, 10): print(i) if i > 3: break
continue的示例,
for i in range(0, 10): if i == 3: continue print(i)
示例
求素数,
a = 7for i in range(2, a): if a % i == 0: breakelse: print('yes')
循环结构中else子句判断循环有没有提前退出,如果提前退出了,else子句不执行,如果没有提前退出,执行else。
多重循环,
is_break = Falsefor 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: breakx = 0x = 1x = 2
一段小代码,
NUM = 35for _ 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 mathfor 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()11 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)2357111317192329313741434753596167717379838997