Python-条件语句与循环

记得冒号和换行的缩进呀…(。◕︎‿◕︎)ノ゚・゚・



条件语句与循环


一. 条件语句


  1. if-else-elif是条件语句,判断bool类型,判断为True就继续执行后面的缩进语句,判断为Flase则不执行缩进语句。

  2. Python程序语言指定任何非0和非空(Null)值为True,0 或者 null为False。

  3. Python只执行if-elif-else 结构中的一个代码块,它依次检查每个条件测试,直到遇到通过了的条件测试。测试通过后,Python将执行紧跟在它后面的代码,并跳过余下的测试。

  4. python 并不支持 switch 语句,所以多个条件判断,只能用 elif 来实现,如果判断需要多个条件需同时判断时,可以使用 or (或),表示两个条件有一个成立时判断条件成功;使用 and (与)时,表示只有两个条件同时成立的情况下,判断条件才成功。

  5. 设置if 语句的格式。在条件测试的格式设置方面,PEP 8提供的唯一建议是,在诸如== 、>= 和<= 等比较运算符两边各添加一个空格,例如,if age < 4: 要比if age<4: 好。这样的空格不会影响Python对代码的解读,而只是让代码阅读起来更容易。

  6. 注意条件语句如果有多条缩进语句时不能忘了冒号( :,不像C语言或其它语言一样,if后面没有括号。


书写格式如下:

1
2
3
4
5
6
7
8
if <条件判断1>:
<执行1>
elif <条件判断2>:
<执行2>
elif <条件判断3>:
<执行3>
else:
<执行4>


二. 循环语句


Python提供了for循环和while循环(在Python中没有do..while循环):

循环类型 描述
while 循环 在给定的判断条件为 true 时执行循环体,否则退出循环体。
for 循环 重复执行语句
嵌套循环 你可以在while循环体中嵌套for循环

循环控制语句
循环控制语句可以更改语句执行的顺序。Python支持以下循环控制语句:

循环类型 描述
break 语句 在语句块执行过程中终止循环,并且跳出整个循环
continue 语句 在语句块执行过程中终止当前循环,跳出该次循环,执行下一次循环。
pass 语句 pass是空语句,是为了保持程序结构的完整性。

2.1 While 循环语句

执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(Null)的值均为True。当判断条件假False时,循环结束。其基本形式为(注意并没有括号):

1
2
while 判断条件:
执行语句……

Gif 演示 Python while 语句执行过程:

loop-over-python-list-animation.gif


循环使用 else 语句:

在 python 中,while … else 在循环条件为 False 时执行 else 语句块:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# -*- coding: utf-8 -*-
count = 0
while count < 5:
print (count, " is less than 5")
count = count + 1
else:
print (count, " is not less than 5")

运行结果:
0 is less than 5
1 is less than 5
2 is less than 5
3 is less than 5
4 is less than 5
5 is not less than 5


2.2 for..in 语句

  1. Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串

  2. Python 中的 for 语句和 C 或 Pascal 中的略有不同。通常的循环可能会依据一个等差数值步进过程(如 Pascal),或由用户来定义迭代步骤和中止条件(如 C ),Python 的 for 语句依据任意序列(列表或字符串)中的子项,按它们在序列中的顺序来进行迭代。

  3. 在迭代过程中修改迭代序列不安全(只有在使用列表这样的可变序列时才会有这样的情况)。如果你想要修改你迭代的序列(例如,复制选择项),你可以迭代它的复本。使用切割标识就可以很方便的做到这一点


for…in语句处理字符串和列表不同:

  1. 处理列表:每次取列表的一个元素赋给 in 前面的变量
  2. 处理字符串:每次取字符串的一个字符赋给 in 前面的变量
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# -*- coding: utf-8 -*-
for x in [1, 2, 3, 4, 5, 6]:
print(x)

for x in 'beauty':
print(x)

运行结果:
1
2
3
4
5
6
b
e
a
u
t
y

上例列表 for x in …循环就是把每个元素代入变量x,然后执行缩进块的语句。这就像把序列中的每一个数(或对象)分配给x,一次一个,然后为每个x值执行语句块。


2.2 break、continue、pass 语句

break语句: 在循环中,可以提前退出循环。
break语句: 在循环过程中,跳过当前的这次循环,直接开始下一次循环。
pass语句: pass 是空语句,是为了保持程序结构的完整性。pass 不做任何事情,一般用做占位语句。


Python 语言 pass 语句语法格式如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# -*- coding: utf-8 -*-
# 输出 Python 的每个字母
for letter in 'Python':
if letter == 'h':
pass
print('这是 pass 块')
print('当前字母 :', letter)

print('Good bye!')

运行结果:
当前字母 : P
当前字母 : y
当前字母 : t
这是 pass
当前字母 : h
当前字母 : o
当前字母 : n
Good bye!