[阶段一] 8. Python的流程控制

python的流程控制

  • if 逻辑判断:

所谓的逻辑判断就是在一个程序中要对判断语句进行真假的结果判定,逻辑判断结果的最基本标准是布尔类型。布尔类型只有两个值:TrueFalse。一个逻辑语句是由条件语句和业务语句组合而成。

if 语句的功能是判断一个命题的真假,如果命题为真(True),则执行 if 的逻辑语句,否则不会执行。

用法:

if 判断条件:
    条件成立时执行的语句块

判断条件的真假结果是布尔类型。if 语句无返回值。示例:

>>> person = {
    
    'name': 'xiaobai', 'age': 18, 'height': 0}

>>> if person['height'] == 0:
...     print('the person is not exist.')
...
the person is not exist.
  • 什么是 else

else 是对 if 条件不满足的时候执行另一个代码块的入口。

用法:

if 判断条件:
    条件成立时执行的语句块
else:
    条件不成立时执行的语句块

if 条件不满足时执行 else 语句,else 语句无返回值。示例:

>>> person = {
    
    'name': 'xiaobai', 'age': 18, 'height': 180}

>>> if person['height'] == 0:
...     print('the person is not exist.')
... else:
...     print('the person\'s height is {}'.format(person['height']))
...
the person's height is 180
  • 什么是 elif

elif 对于命题的非第一次的多种判断,每一种判断条件对应一个业务代码块。

elif 语句是对于 if 首次判断不满足时其他条件的判断语句。

if 判断条件1:
    条件1成立时执行的语句块
elif 判断条件2:
    条件2成立时执行的语句块
elif 判断条件3:
    条件3成立时执行的语句块
...
else:
    所有条件都不成立时执行的语句块

先进行 if 判断语句,如果 if 不成立就会执行 elif 判断,如果 ifelif 都不成立才会执行 else 的代码块。if 下面可以有多个 elif,但只能有一个 else。示例:

>>> person = {
    
    'name': 'xiaobai', 'age': 18, 'height': 180}

>>> if person['height'] == 0:
...     print('the person is not exist.')
... elif 0 < person['height'] <= 160:
...     print('the person is short.')
... elif 160 < person['height'] <= 180:
...     print('the person is middle.')
... else:
...     print('the person is tall.')
...
the person is middle.

if 条件语句的说明:

条件语句中,满足一个条件后,将退出当前条件语句

每个条件语句中必须且仅有一个 if 语句,可以有 0 个或多个 elif 语句,可以有 0 个或 1 个 else语句

每个条件语句,第一个条件必须是 if 开头

python的 for 循环

python的循环也称为遍历,通过 for 关键字将列表、元组、字符串、字典中的每个元素按照序列顺序进行遍历。

用法:

for item in iterable:
    遍历执行的代码块

参数 iterable 表示可循环的数据类型,如列表、元组、字符串、字典;item 表示 iterable 中的每一个元素。

for 循环语句没有返回值,但在特定情况下有返回值。示例:

>>> l = ['name', 'age', 'gender', 'job']

>>> for i in l:
...     print(i)
...
name
age
gender
job
  • 对字典进行循环:

字典对象有内置函数 keysvaluesitems,分别可用于获取字典当前元素的keyvaluekey: value 键值对。

用法:

for key in dict.keys():
    遍历执行的代码块

for value in dict.values():
    遍历执行的代码块

for key, value in dict.ietms():
    遍历执行的代码块

参数 key 表示 for 循环体中获取的字典当前元素的 keyvalue 表示 for 循环体中获取的字典当前元素的 key 对应的 value

示例:

>>> person = {
    
    'name': 'xiaobai', 'age': 18, 'height': 180}

>>> for i in person.keys():
...     print(i)
...
name
age
height

>>> for j in person.values():
...     print(j)
...
xiaobai
18
180

>>> for i, j in person.items():
...     print(i, j)
...
name xiaobai
age 18
height 180
  • 内置函数 range

range 函数返回的是一个一定范围的可迭代对象,元素为整型。返回的是 range 类型,无法打印信息,但可循环。

用法:

for item in range(start, end, step=1):
    遍历执行的代码块

参数 start 表示开始的数字,类似索引左边;end 表示结束的数字,类似索引右边;step 为步长,类似索引步长,默认为 1。range 函数默认从 0 开始,不包括结束值,range 函数也遵循“左含右不含”的规则。

示例:

>>> for i in range(1, 10):
...     print(i)
...
1
2
3
4
5
6
7
8
9

>>> type(range(1, 10))
<class 'range'>
  • for 循环中的 else

for 循环中也可以使用 else,但 else 语句只会在 for 循环正常退出后执行,循环如果报错或中途停止则不会执行 else 语句。

示例:

>>> for i in range(1, 10):
...     print(i)
... else:
...     print('遍历结束')
...
1
2
3
4
5
6
7
8
9
遍历结束
  • 嵌套 for 循环:

嵌套 for 循环,即 for 循环中的 for 循环。嵌套 for 循环中,每进行一次外层的 for 循环,会完整的进行内层的 for 循环,内层的 for 循环完整结束后,会再次进入外层的 for 循环,直至外层的 for 循环结束。

用法:

for item_1 in iterable_1:
    遍历执行的代码块
    for item_2 in iterable_2:
        遍历执行的代码块

示例:

>>> person = {
    
    'name': 'xiaobai', 'age': 18, 'height': 180}

>>> for key in person.keys():
...     print(key)
...     print('\n')
...     for value in person.values():
...         print(value)
...         print('-----')
...
name


xiaobai
-----
18
-----
180
-----
age


xiaobai
-----
18
-----
180
-----
height


xiaobai
-----
18
-----
180
-----

python的 while 循环

for 循环是有限循环,因为可迭代对象中的元素始终是有个数的。相比之下,while 循环是无效循环,只要判断条件满足就可以一直循环下去,条件不满足时将停止循环。

for 循环与 while 循环的区别是 for 循环是有限循环,while 是无限循环且 while 不依赖可迭代的类型,for 需要依赖可迭代的类型。

用法:

while 判断条件:
    遍历执行的代码块

示例:

>>> n, s = 1, 0

>>> while n <= 5:
...     s += n
...     n += 1
...

>>> print(s)
15
  • continuebreak

循环遇到 continue 时将停止本次数据循环,进入下一次循环。

用法:

while 判断条件:
    遍历执行的代码块
    continue

for item in iterable:
    遍历执行的代码块
    continue

循环遇到 break 时将正常停止整个循环,此时如果循环使用了 else 语句,else 语句将不会执行。

如果程序中只存在单循环,这时用 break 就会结束循环,程序就会终止。如果在多层循环嵌套中使用 break 只结束当前循环

用法:

while 判断条件:
    遍历执行的代码块
    break

for item in iterable:
    遍历执行的代码块
    break

示例:

>>> users = [
...     {
    
    'name': 'xiaobai', 'age': 18, 'gender': 'man'},
...     {
    
    'name': 'xiaohei', 'age': 17, 'gender': 'man'},
...     {
    
    'name': 'xiaoxi', 'age': 18, 'gender': 'woman'},
...     {
    
    'name': 'xiaohong', 'age': 19, 'gender': 'woman'}
... ]

>>> for user in users:
...     if user.get('gender') == 'woman':
...         continue
...     print(user.get('name'))
...
xiaobai
xiaohei
>>> for i in range(10):
...     if i == 8:
...         print('-----')
...         print('已经循环了 {} 次,循环退出'.format(i))
...         break
...     print(i)
... else:
...     print('循环正常退出')
...
0
1
2
3
4
5
6
7
-----
已经循环了 8 次,循环退出

continuebreak 的使用说明:

continue 与 break 只能使用于循环体中,其他地方无法使用,强行使用会报错

continue 与 break 通常伴随着循环语句中的条件语句,满足条件可以继续执行,不满足条件提前结束循环

在 while 循环中,break 语句优先于 while 逻辑体的判断

Guess you like

Origin blog.csdn.net/miss1181248983/article/details/119937626