跳转至

流程控制

一、if语句

1. 语法格式

1.1 格式一

1
2
if 条件:
    statements

1.2 格式二

1
2
3
4
if 条件:
    statements1
else:
    statements2

1.3 格式三

1
2
3
4
5
6
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. 三元表达式

1
2
3
4
5
6
7
8
# 短路运算
A = Y if X else Z

# 等价于
if X:
    A = Y
else:
    A = Z

条件可以是任意表达式,但执行结果必须为布尔类型(在if判断中所有的数据类型也都会自动转换成布尔类型,None,0,空(空字符串、空列表、空字典等)三种情况下转换成的布尔值为False,其余均为True)

二、while循环

1. 语法格式

1
2
3
4
while 条件:
    statements
else
    statements

2. 用法

2.1 一般用法

1
2
3
4
5
num = 0
while num < 10:
    if num % 2 == 0:
        print(num)
    num += 1

2.2 break

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
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
2
3
4
5
6
7
# 打印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. 语法格式

1
2
3
4
for 变量名 in 可迭代对象:
    statements
else:
    statements

2. 用法

2.1 一般用法

1
2
3
4
5
# 九九乘法表
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