if条件控制语句

if语句用于条件执行,一般形式如下所示:

1
2
3
4
5
6
if condition_1:
    statement_block_1
elif condition_2:
    statement_block_2
else:
    statement_block_3

如果 “condition_1” 为 True 将执行 “statement_block_1” 块语句
如果 “condition_1” 为False,将判断 “condition_2”
如果”condition_2” 为 True 将执行 “statement_block_2” 块语句
如果 “condition_2” 为False,将执行”statement_block_3”块语句
Python 中用 elif 代替了 else if,所以if语句的关键字为:if – elif – else。

注意
1、每个条件后面要使用冒号 :,表示接下来是满足条件后要执行的语句块。
2、使用缩进来划分语句块,相同缩进数的语句在一起组成一个语句块。
3、在Python中没有switch – case语句。

例如:

1
2
3
4
5
6
7
8
9
score = 65
if score >= 90:
    print("成绩优秀")
elif score >= 70:
    print("成绩良好")
elif score >= 60:
    print("成绩及格")
else:
    print("成绩不及格")

执行以上程序会输出如下结果:
成绩及格

if判断条件还可以简写,只要x是非零数值、非空字符串、非空list等,就判断为True,否则为False。

1
2
if x:
    print('True')

例如:

1
2
3
s = "hello world"
if len(s)>0:
    print(s)

可以简写为

1
2
3
s = "hello world"
if s:
    print(s)

if语句的嵌套

if语句中还可以嵌入if – elif – else,称为if语句嵌套。

例如:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
score = 100
if score >= 90:
    if score==100:
        print("满分")
    else:
        print("成绩优秀")
elif score >= 70:
    print("成绩良好")
elif score >= 60:
    print("成绩及格")
else:
    print("成绩不及格")

执行以上程序会输出如下结果:
满分

while循环语句

Python中while语句的一般形式:

1
2
3
4
while 判断条件:
    语句
else
    语句

只要判断条件为True,while语句重复执行。如果判断条件False则执行else子句(如果存在)并终止循环。

例如:计算1 到 10 的总和。

1
2
3
4
5
6
7
start = 1
sum = 0
while start <= 10:
    sum += start
    start += 1
else:
    print("1 到 10 的总和:",sum)

执行以上程序会输出如下结果:
1 到 100 的总和: 55

for 语句

for语句用于迭代序列的元素(例如字符串,元组或列表)或其他可迭代对象:for循环的一般格式如下:

1
2
3
4
for <variable> in <sequence>:
    <statements>
else:
    <statements>

例如,打印列表的内容。

1
2
3
4
5
list = ['a','b','c']
for i in list:
    print(i)
else:
    print("for循环结束")

执行以上程序会输出如下结果:

1
2
3
4
a
b
c
for循环结束

break语句

break语句用于跳出 for 和 while 的循环体,不执行else语句。

例如:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
start = 1
sum = 0
while start <= 10:
    sum += start
    start += 1
    if start==5: # 退出while循环,不执行后面的else子句
        break
    print("start的当前值:",start)
else:
    print("1 到 10 的总和:",sum)
print("break语句执行完毕")

执行以上程序会输出如下结果:

1
2
3
4
start的当前值 2
start的当前值 3
start的当前值 4
break语句执行完毕

例如:

1
2
3
4
5
6
7
8
list = ['a','b','c']
for i in list:
    if i == 'b':
        break
    print(i)
else:
    print("for循环结束")
print("break语句执行完毕")

执行以上程序会输出如下结果:

1
2
a
break语句执行完毕

continue语句

continue语句用来告诉Python跳过当前循环块中的剩余语句,然后继续进行下一轮循环。

例如,计算1 到 10 的总和:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
start = 1
sum = 0
while start <= 10:
    sum += start
    start += 1
    if start==5: #不执行后面的print语句
        continue
    print("start的当前值:",start)
else:
    print("1 到 10 的总和:",sum)
print("continue语句执行完毕")

执行以上程序会输出如下结果:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
start的当前值 2
start的当前值 3
start的当前值 4
start的当前值 6
start的当前值 7
start的当前值 8
start的当前值 9
start的当前值 10
start的当前值 11
1  10 的总和: 55
continue语句执行完毕

例如:

1
2
3
4
5
6
7
8
list = ['a','b','c']
for i in list:
    if i == 'b':
        continue
    print(i)
else:
    print("for循环结束")
print("continue语句执行完毕")

执行以上程序会输出如下结果:

1
2
3
4
a
c
for循环结束
continue语句执行完毕

break语句和continue语句操作的都是自身所属的循环。例如,循环A里嵌套一个循环B,则B循环里的break语句,只能跳出B循环,不能跳出最外层的A循环。continue语句也是一样的。

例如:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
list_num = [1,2,3,4]
list_letter = ['a','b','c']

for i in list_num:
    print(i)
    for j in list_letter:
        print(j)
        if j == "b":
            break  #只能跳出内层循环
    else:
        print("内层循环结束")
else:
    print("外层循环结束")

执行以上程序会输出如下结果:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
1
a
b
2
a
b
3
a
b
4
a
b
外层循环结束

转载请注明本网址。