流程控制
一、if语句
1. 语法格式
1.1 格式一
1.2 格式二
| if 条件:
statements1
else:
statements2
|
1.3 格式三
| if 条件1:
statements1
elif 条件2:
statements2
else:
statements3
|
示例:
1
2
3
4
5
6
7
8
9
10
11
12 | score = float(input('请输入成绩: '))
if score >= 90:
grade = 'A'
elif score >= 80:
grade = 'B'
elif score >= 70:
grade = 'C'
elif score >= 60:
grade = 'D'
else:
grade = 'E'
print('对应的等级是:', grade)
|
2. 三元表达式
| # 短路运算
A = Y if X else Z
# 等价于
if X:
A = Y
else:
A = Z
|
条件可以是任意表达式,但执行结果必须为布尔类型(在if判断中所有的数据类型也都会自动转换成布尔类型,None,0,空(空字符串、空列表、空字典等)三种情况下转换成的布尔值为False,其余均为True)
二、while循环
1. 语法格式
| while 条件:
statements
else
statements
|
2. 用法
2.1 一般用法
| num = 0
while num < 10:
if num % 2 == 0:
print(num)
num += 1
|
2.2 break
| count = 0
while count < 3:
inp_name = input("username:")
inp_passwd = input("password:")
if inp_name == 'Tom' and inp_passwd == '123':
print("登录成功!")
break
else:
print("登录失败!")
count += 1
|
2.3 continue
用于结束本次循环,直接进入下一次循环
| # 打印1到10之间,除7以外的所有数字
number = 11
while number > 1:
number -= 1
if number == 7:
continue # 结束掉本次循环,即本次循环continue之后的代码都不会运行了,而是直接进入下一次循环
print(number)
|
2.4 else
当且仅当循环正常离开时才会执行
1
2
3
4
5
6
7
8
9
10
11
12
13 | #!/usr/bin/env python3
cnt = 0
while cnt < 3:
username = input("user: ")
password = input("password: ")
if username == 'admin' and password == 'admin':
print('登陆成功')
break
else:
print('登陆失败,还有{}次机会。'.format(2-cnt))
cnt+=1
else:
print('超过重试次数!')
|
三、for循环
for循环在python中是一个通用迭代器,可以遍历任何有序序列或其他可迭代对象内的元素。for循环在循环取值(遍历取值)比while循环更简洁。
1. 语法格式
| for 变量名 in 可迭代对象:
statements
else:
statements
|
2. 用法
2.1 一般用法
| # 九九乘法表
for i in range(1, 10):
for j in range(1, i + 1):
print('%s*%s=%s' % (i, j, i * j), end=' ')
print()
|
2.2 break
同while
,终止for循环只能使用break。
2.3 continue
同while
2.4 else
同while