详解Python流程控制语句

作者:kangyz 时间:2021-05-15 08:25:45 

流程控制

  1. 流程:代码执行的过程

  2. 控制:对代码执行过程的把控

三大结构

  • 顺序结构:代码默认从上到下,依次执行

  • 分支结构:单项分支,双向分支,多项分支,巢状分支

  • 循环结构:while循环和for循环

单项分支

语句:

if 条件表达式:
    code1
    code2

当条件表达式成立时,返回True,执行对应的代码块


job = "programmer"
if job == "programmer":
  print("钱多")
  print("话少")
  print("*的早")

双向分支(二选一)

语句:

if 条件表达式:
    code1 ..
else:
    code2 ...

  • 如果条件表达式成立,返回True ,执行if这个区间的代码块

  • 如果条件表达式不成立,返回False,执行else这个区间的代码块


job = "programmer"
if job == "programmer":
  print("钱多")
  print("话少")
  print("*的早")
else:
  print("给你小红花儿~")

多项分支(多选一)

语句:

if 条件表达式1:
    code1
elif 条件表达式2:
    code2
elif 条件表达式3:
    code3
else:
    code4

  • 如果条件表达式1成立,执行对应分支的代码块code1,反之则判断条件表达式2是否成立

  • 如果条件表达式2成立,执行对应分支的代码块code2,反之则判断条件表达式3是否成立

  • 如果条件表达式3成立,执行对应分支的代码块code3,反之则执行else分支,到此程序执行完毕


money = False
car = False
house = False
if money == True:
  print("你是土豪么???")
elif car == True:
  print("你是有一辆蹦蹦嘛???")
elif house == True:
  print("你是什么房子啊?")
else:
  print("你是个好人~")

巢状分支

单项分支,双向分支,多项分支的互相嵌套组合


money = False
car = True
house = True
if money == True:
  print("你是土豪么???")
  if house == True:
     print("你是什么房子啊?")
     if car == True:
        print("你是有一辆蹦蹦嘛???")
     else:
        print("其实还可以~")
  else:
     print("感觉差点意思~")
else:
  print("你是个好人~")

循环结构

特点:

减少冗余代码,提升代码执行效率

语法:

while 条件表达式:
    code1

书写三部曲

  • 初始化一个变量

  • 书写循环条件

  • 添加自增/自减的值

案例1


# 打印1~100所有数字
i = 1
while i <= 100:
  print(i)
  i += 1

案例2


# 打印1~100的累加和
i = 0
total = 0
while i <= 100:
  total += i
  i += 1
print(total)

死循环


while True:
  print("死循环")

关键字的使用

pass(代码块中的占位符)


while True:
  pass

break(终止当前循环)


# 1~10,遇到5终止循环
i = 1
while i <= 10:
  print(i)
  if i == 5:
     break
  i += 1

container(跳过当前循环)


# 打印1~100中不含4的数字
i = 1
while i <= 100:
  strvar = str(i)
  if "4" in strvar:
     i += 1
     continue
  print(i)
  i += 1

for循环

循环/遍历/迭代,把容器中的元素一个个取出来

while的局限性


# Error
# setvar = {"a", "b", "c"}
# i = 0
# while i < len(setvar):
  # print(setvar[i])
  # i+=1

for循环的基本语法

for 变量 in Iterable:
    code1

Iterable

Iterable可迭代性数据

  1. 容器类型数据

  2. range对象

  3. 迭代器

range

range(开始值,结束值,步长)
区间为[开始值,结束值),为左闭右开区间,右边的结束值取不到

总结

  • while:一般用于处理复杂的逻辑关系

  • for:一般用于迭代数据

  • 部分情况下两个循环可以互相转换

来源:https://www.cnblogs.com/kangyz/p/13866724.html

标签:python,流程控制,语句
0
投稿

猜你喜欢

  • 在PHP中操作文件的扩展属性

    2023-07-22 06:49:20
  • Python交换字典键值对的四种方法实例

    2022-11-10 04:34:04
  • 如何解决从文本文件中调出记录出现丢失换行的问题?

    2009-12-03 20:25:00
  • Pandas 类型转换astype()的实现

    2022-03-13 17:39:52
  • python爬虫 基于requests模块的get请求实现详解

    2021-04-24 17:38:32
  • Python运行的17个时新手常见错误小结

    2023-05-20 00:13:17
  • Python的Flask框架中实现简单的登录功能的教程

    2023-10-26 19:18:48
  • pycharm中使用request和Pytest进行接口测试的方法

    2022-06-30 03:34:46
  • mysql 5.6.14主从复制(也称mysql AB复制)环境配置方法

    2024-01-22 07:23:57
  • 网页代码更清晰高效的一些经验

    2008-05-19 12:23:00
  • 新手学python应该下哪个版本

    2021-09-06 00:04:45
  • Quickwork For Asp -实战之后台管理

    2009-12-31 19:13:00
  • Windows下MySQL 5.7无法启动的解决方法

    2024-01-26 02:32:31
  • PyCharm2018 安装及破解方法实现步骤

    2022-02-02 10:46:15
  • pygame游戏之旅 添加游戏界面按键图形

    2023-06-30 21:48:38
  • JavaScript中prototype为对象添加属性的误区介绍

    2024-04-19 09:46:30
  • Python 文件处理之open()函数

    2021-03-04 02:26:49
  • python文件及目录操作代码汇总

    2022-08-19 14:07:27
  • 自动完成JS类(纯JS, Ajax模式)

    2024-05-11 09:41:59
  • 在Python中通过机器学习实现人体姿势估计

    2022-05-20 13:08:25
  • asp之家 网络编程 m.aspxhome.com