Python 编程 | 连载 13 - Python 的流程控制
一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第6天,点击查看活动详情。
一、Python 的逻辑语句
逻辑与 if 语句
逻辑判断与逻辑语句:
- 对于一件事情正确与否的判断
- 根据判断的结果做不同的事情
- 对于条件满足的判断语句,就是条件语句
- 一个逻辑语句是由条件语句和业务语句组合而成
判断一个命题的真实性,如果命题为真(True)则执行 if 的逻辑语句
if bool_result: # 语法块
do # 业务代码块,有缩进
- if 关键字后的 bool_result 是结果的真假,为布尔类型既 True 或者 False
- do 代码块是在 bool_result 为 True 的条件下执行的
- if 是关键字,不是函数,无返回值
info = 'i am iron man'
info_list = info.split(' ')
print(info_list)
if info_list[0] == 'iron':
info_list[0] = 'spider'
if info_list[1] == 'iron':
info_list[1] = 'spider'
if info_list[2] == 'iron':
info_list[2] = 'spider'
if info_list[3] == 'iron':
info_list[3] = 'spider'
print(info_list)
info_02 = ' '.join(info_list)
print(info_02)
添加描述
使用成员运算符进行逻辑判断
message = 'Will says:"Keep my wife's name out of your fucking mouth"'
message_list = message.split()
if 'fucking' in message_list:
message = message.replace('fucking', '*')
print(message)
添加描述
条件语句中的 else 关键字
else 就是对于不满足 if 条件的时候执行另一个代码块的入口
if bool_result:
do
else:
else do # else 代码块,当满足if条件时执行,需要与if代码块有同样的缩进
else是关键字,不是函数,无返回值
name = 'peter'
if name == 'stark':
print('I am IronMan')
else:
print('Who are you then?')
添加描述
不满足 if 的条件,则会执行 else 代码块。
条件语句中的 elif 关键字
elif(或者如果)对于条件的非第一次的多种判断,每种判断条件对应一个代码块
if bool_reslut:
do
elif bool_result:
elif do # 当前elif对应的代码块, 缩进与上面保持一致
elif bool_result:
elif do
else:
else do
elif 是关键字,不是函数,没有返回值
num = 8
if num >= 10:
print('num的值大于等于10')
elif num > 5:
print('num的值大于5小于10')
else:
print('num的值小于等于5')
条件语句总结
- 条件语句中满足一个条件后,将推出当前条件语句
- 每条语句中有且只有一个if语句,可以有0个或者多个elif语句,可以有0个或者1个else语句
- 每个条件语句中的第一个条件语句必须是if条件语句
添加描述
二、for 循环
for 关键字可以将列表、元组、字典、字符串中的每个元素按照队列中的顺序进行遍历
for item in iterable: # iterable 既可迭代的数据类型,元组、字典、字符串、列表等
print(item) # item 是指队列中的一个元素
list_01 = ['stark', 'wanda', 'steve', 'strange', 'loki']
for item in list_01:
print(item)
if item == 'stark':
print('I am IronMan')
elif item == 'peter':
print('I am SpiderMan')
elif item == 'banner':
print('Incredible Hulk')
elif item == 'thor':
print('Thor Odin')
else:
print('We are Heros')
添加描述
字典的 item 函数
items函数可以将字典转成伪列表,每个Key、Value转换成元组
利用字典的item函数对字典进行for循环
for key, value in dict.items():
print(key, value)
items函数无参数 key:for循环体中获取的字典的当前元素的key value:for循环体中对应当前Key的Value值
list_dict = [
{'name': 'stark', 'age': 40},
{'name': 'thor', 'age': 1500},
{'name': 'banner', 'age': 40},
{'name': 'clint', 'age': 37},
]
for i in list_dict:
for k, v in i.items():
print(k ,v)
添加描述
range 函数
range函数返回的是一个一定范围的可迭代对象,元素为整型,不是列表,无法打印信息,但是可以进行循环。
for item in range(start, stop, step=1):
print(item)
- start: 开始的数字,类似切片时的起始位置
- stop:结束的数字,类似切片的结束位置
- step:步长,类似切片中的步长
返回一个可迭代的整型的对象,且与切片一样是左包含右不包含
for i in range(1, 5):
print(i)
print('--------------')
for j in range(1, 10, 2):
print(j)
添加描述
else 在 for 循环中的使用
else语句只有在for循环正常退出后才执行
for i in range(1, 5):
print(i)
else:
print('for循环执行结束')
添加描述
嵌套for 循环
for循环中的for循环称为嵌套for循环
for i in range(1, 3):
print('第一层for循环')
print(i)
for j in range(1, 3):
print('第二层for循环')
print(i, ',', j)
print(i, j)
添加描述
可以使用上一层的for循环中的变量,可以在 for 循环外使用 for 循环中的两个变量。
三、while 循环
以一定条件为基础的循环,条件满足则无限循环,条件不满足则退出循环,for循环是有限循环,有一定的迭代次数,while循环是无限循环,while循环不依赖可迭代的数据类型,for循环依赖可迭代的数据类型。
while bool_result:
do
- bool_result:True 或 False
- do:while循环的代码块
count = 0
total = 0
while count <= 100:
total += count
count += 1
print(total)
添加描述
index = 0
list_01 = ['stark', 'banner', 'peter', 'clint', 'thor']
while index < len(list_01):
print(list_01[index])
index += 1
添加描述
四、continue 与 break 关键字
continue 关键字可以停止当前循环,直接进入下一次循环,continue 关键字在循环中使用
while bool_result:
if bool_result:
contineu
break 关键字可以使循环停止,并且不会执行当前语句中的else语句
while bool_result:
break
- continue 与 break 通常伴随着循环语句中的条件语句,满足某些条件可以继续执行,不满足条件提前退出或者结束循环
- 在while循环中,break语句优先与while逻辑体中的判断
heros = [
{'name': 'stark', 'age': 40, 'address': 'NY'},
{'name': 'peter', 'age': 18, 'address': 'NY Queens'},
{'name': 'steve', 'age': 40, 'address': 'NY Brooklyn'},
{'name': 'thor', 'age': 1500, 'address': 'Asgard'},
]
humans = []
for hero in heros:
if hero.get('name') == 'thor':
continue
humans.append(hero)
print('{} is human'.format(hero.get('name')))
print(humans)
添加描述
heros = [ {'name': 'stark', 'age': 40, 'address': 'NY'}, {'name': 'peter', 'age': 18, 'address': 'NY Queens'}, {'name': 'steve', 'age': 40, 'address': 'NY Brooklyn'}, {'name': 'thor', 'age': 1500, 'address': 'Asgard'},]
humans = []
for hero in heros:
if hero.get('name') == 'steve':
break
humans.append(hero)
print('{} is human'.format(hero.get('name')))
else:
print('for循环执行完毕')
print(humans)
添加描述
continue、break只能在循环中使用。
嵌套循环实现九九乘法表
num = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in num:
# print(i)
for j in range(1, i+1):
# 输出乘法口诀
print('{} * {} = {}'.format(j, i, i * j), end=' ')
if j == i:
# 换行
print()
相关文章
- Python Flask 编程 | 连载 06 - Jinja2 语法
- python滑动验证码_python编程是啥
- Python 编程 | 连载 08 - 列表与元组操作
- Python 编程 | 连载 11 - Python 集合
- PyCharm下使用 ipython 交互式编程「建议收藏」
- Python Flask 编程 | 连载 03 - Flask 请求
- Python 编程 | 连载 22 - logging 与 random 模块
- Python 编程 | 连载 26 - Python 多线程
- Python Flask 编程 | 连载 05 - Jinja2 模板引擎
- Python 编程 | 连载 14 - Python 的函数
- pycharm怎么配置python环境anaconda_ug编程电脑配置要求
- Python基础22-并发编程
- Python 编程 | 连载 21 -序列化与加密模块
- Python 编程 | 连载 12 - Python 数据类型转换
- Python 编程 | 连载 25 - Python 多进程
- Python 编程 | 连载 20 - 文件 I/O
- Python 编程 | 连载 04 - 字典与运算符
- macbookpro安装anaconda_mac下python编程软件
- Python 编程 | 连载 13 - Python 的流程控制
- Python升级之路( Lv14 ) 并发编程初识