流程控制:分支与循环

流程控制语句主要分为三种:

​ 1、顺序语句:顾名思义,就是按照顺序从头一句一句往下执行。

​ 2、分支语句

​ 3、循环语句

分支语句

在Python中,要构造分支结构可以使用ifelifelse关键字。

结构:

1
2
3
4
5
6
7
if 表达式1:
语句1
elif 表达式2:
语句2
[...]
else:
语句n

执行顺序:先判断表达式1 的值,如果为True ,则执行语句1 ,然后结束分支。如果为False ,则判断表达式2 的值,如果为True ,则执行语句2 ,然后结束分支。[…] 如果所有的表达式都为False ,则执行else中的语句n

练习:英制单位与公制单位互换

1
2
3
4
5
6
7
8
value = float(input('请输入长度:'))
unit = input('请输入单位:')
if unit == 'in' or unit == '英寸':
print('%f英寸 = %f厘米' % (value, value * 2.54))
elif unit == 'cm' or unit == '厘米':
print('%f厘米 = %f英寸' % (value, value / 2.54))
else:
print('请输入有效的单位')

循环语句

构造循环语句要使用 for...in... 或者 while 关键字。

1、for...in...结构,依次把可迭代容器中的每个元素迭代出来

1
2
for 变量 in 可迭代容器:
语句...

eg:求1-100的和

1
2
3
4
sum = 0
for x in range(101):
sum += x
print(sum)

2、while结构,只要条件满足,就不断循环,条件不满足时退出循环。

1
2
while 表达式:
语句...

eg:猜数字游戏

​ 规则:计算机出一个1~100之间的随机数由人来猜
​ 计算机根据人猜的数字分别给出提示大一点/小一点/猜对了,当猜的次数大于7,再提示智商不足

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import random

answer = random.randint(1, 100)
counter = 0
while True:
counter += 1
number = int(input('请输入:'))
if number < answer:
print('大一点')
elif number > answer:
print('小一点')
else:
print('恭喜你猜对了!')
break
print('你总共猜了%d次' % counter)
if counter > 7:
print('你的智商余额明显不足')

练习:打印九九乘法表,要使用双层循环

1
2
3
4
for i in range(1, 10):
for j in range(1, i + 1):
print('%d*%d=%d' % (i, j, i * j), end='\t')
print()