Python的流程控制

简介: 在Python当中主要的流程分为3大结构:顺序结构、分支结构、循环结构顺序结构:程序从头到尾的顺序依次执行每一条python代码。分支结构:可以让程序拐弯,有选择性的执行代码;循环结构:程序可以杀个回马枪,不断的重复执行同一段代码。

人生苦短,我学python

一、简介

在Python当中主要的流程分为3大结构:顺序结构、分支结构、循环结构

  • 顺序结构:程序从头到尾的顺序依次执行每一条python代码。
  • 分支结构:可以让程序拐弯,有选择性的执行代码;
  • 循环结构:程序可以杀个回马枪,不断的重复执行同一段代码

二、分支结构

Python的代码结构:创始人有意让违反了缩进原则的程序不能通过编译,会报错

python语言利用缩进来表示 语句块的开始和退出。

  • 增加缩进表示语句块的开始
  • 减少缩进表示语句块的退出
if xxx:
  表示if语法里面
表示if语法外面

1、if语句(单向分支)

if语法:

if 布尔值:  【判断条件=》布尔值】
    判断成立执行的语句块 # 注意缩进,表示进入if语句块
age = int(input("请输入年龄:"))
if age < 18:  # 如果 age小于18
    print("1")  # 选择性执行
print("2") # 一定执行

2、if…else(双向分支)

2选1

if…else : 如果…否则

if 条件表达式:
    条件成立执行的语句块
else:
    条件不成立执行的语句块
if age < 18:  # 双向分支, 一定只会执行两条路中一条
    print("1")
else:
    print("2")

3、if…elif…else(多向分支)

n选1

if:如果

elif:否则如果

else:否则

# 从上往下判断,如果为True了则就不会再往下执行了
if 条件表达式1:
    执行语句1
elif 条件表达式2:
    执行语句2
elif 条件表示3:
    执行语句3
else:
    执行语句4

4、if语句嵌套


if 表达式1:
    if 表达式2:
        语句块2
    else:
        语句块3
else:
    执行语句块2
if age >= 0:
    if 0 <= age <= 6:
        print("~~正在童年阶段~~")
    elif 7 <= age <= 17:
        print("~~正在少年阶段~~")
    elif 18 <= age <= 40:
        print("~~正在青年阶段~~")
    elif 41 <= age <= 65:
        print("~~正在中年阶段~~")
    else:
        print("~~正在老年阶段~~")
else:
    print("请输入合法数字")

5、pass关键字

pass:有时候程序需要占有一个位置,但是又不想做事情,可以通过pass实现

pass什么都不会做,填个坑用的。

age = int(input("请输入年龄:"))
if age >= 0:
    pass
else:
    print("请输入合法数字")

6、三目运算符

a = 666
b = 500
if a > b:
    print(a)
else:
    print(b)
成立返回的值 if 条件表达式 else 不成立返回值的
print(a if a > b else b)

三、循环结构

1、while循环

while循环与if条件的 语法格式类型:

if 条件表达式:
    代码块
while 条件表达式:
    代码块
while 0 < 10:  # 条件表达式为False的时候才结束
    print("进来了")  
# 永久执行下去 叫死循环
a = 0 # 1.初始变量
while a < 10: # 2.设置出口
    print("进来了")
    a = a + 1 # 3.接近出口
# 0 < 10 => True
# 1 < 10 => True
# 2 < 10 => True
# ...
# 9 < 10 => True
# 10 < 10 => F
# 1.初始变量   ☆
num = 1
# 2.当num小于100的时候,进入循环体
while num <= 100:
    print("num =", num)
    # 3.变量变化率
    num += 1
print("循环结束")
sum = 0  # 初始化一个去累计的变量
num = 1  # 从1开始
while num < 101:
    sum = sum + num  # sum = 0 + 1 + 2 + 3 + 4+ 5 + 6 + 7 
    num += 1
print(sum)

2、for循环

for 变量名 in range(start,stop,step):
    语句块

for输出1~100

for i in range(1, 101):
  print(i)

for输出1~100的和

# 1 + 2 + 3 + 4 + .... 100
s = 0
for i in range(1, 101):
    s += i
print(s)

登录小程序

账号:root

密码:123456

"""
程序运行提示输入账号和密码,如果账号和密码错误 重新输入账号密码,如果登录成功则退出程序
"""
while True:
    user = input("请输入账号:")
    pwd = input("请输入密码:")
    if user == "root" and pwd == "123456":
        print("登录成功")
        break  # 直接结束循环
    else:
        print("用户名或者密码错误")
print("欢迎来到银行")

3、break和continue

breakcontinue是循环中满足一定条件退出循环的两种方式

break:结束整个循环

continue:结束本次循环,继续执行下一次循环

摆烂阳吃苹果,一共10个苹果

1.如果吃的过程中,吃到第3个的时候觉得吃饱了,则不需要再吃了。

break --> 终止整个循环

2.如果吃的过程中,吃到第3个的时候吃到了一个毛毛虫,代表第3个不能吃了扔掉第3个,继续吃第4个苹果。

continue --> 终止当前一次循环,但是整个循环还在继续执行

# 情况一
# for i in range(1, 11):
#     if i == 4:
#         print("吃饱了")
#         break
#     print("正在吃第" + str(i) + "个苹果")
# 情况二
for i in range(1, 11):
    if i == 3:
        print("吃到毛毛虫了~扔掉")
        continue
    print("正在吃第" + str(i) + "个苹果")

如果range是从0开头,可以省略开头

4、循环嵌套

for i in range(2):
    print("==========外层")
    for j in range(5):
        print("====内层")

打印一栋楼的所有房间号:

for j in range(1,6):
    for i in range(1, 10):
        print(str(j) + "0" + str(i), end=" ")
    print()
# 尝试使用  while + while实现
# 尝试使用  while + for 实现
# 尝试使用  for + while 实现
for j in range(1, 6):
    i = 1
    while i < 10:
        print(str(j) + "0" + str(i), end=" ")
        i += 1
    print()

四、序列类型遍历

遍历:将一个序列里面的所有元素,从头到尾,一个一个的给访问到。通俗来讲就是 循环从第一个元素到最后一个元素依次访问一次

遍历的第一种方式:下标法

# 下标模板  
for i in range(len(序列)):
    print(序列[i])  # 序列[i] 表示序列中的元素
工具包 = ["斧头", "锤子", "扳手", "稿子","木稿子"]
# 规则 最大下标 = 长度 - 1
for i in range(len(工具包)):
    print(工具包[i]) # i:下标  工具包[i]:元素

遍历的第二种方式:迭代法

# 迭代模板
for i in 序列类型:
    print(i)
工具包 = ["斧头", "锤子", "扳手", "稿子", "木稿子"]
for i in 工具包:
    print(i)   # i:元素
总结:以后比较常用的遍历方式就2种
# 下标模板  
for i in range(len(序列)):
    print(序列[i])  # 序列[i] 表示序列中的元素
# 迭代模板
for i in 序列类型:
    print(i)
相关文章
|
4月前
|
测试技术 Python
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
本文介绍了Python中的循环语句,包括while和for循环的使用,range()函数的运用,以及continue、break和pass关键字的说明,同时提出了关于while循环是否能与成员运算符结合使用的思考。
53 1
Python接口自动化测试框架(基础篇)-- 流程控制之循环语句for&while
|
4月前
|
测试技术 索引 Python
Python接口自动化测试框架(练习篇)-- 数据类型及控制流程(一)
本文提供了Python接口自动化测试中的编程练习,包括计算器、猜数字、猜拳和九九乘法表等经典问题,涵盖了数据类型、运算、循环、条件控制等基础知识的综合应用。
48 1
|
2月前
|
人工智能 IDE 测试技术
使用通义灵码提升Python开发效率:从熟悉代码到实现需求的全流程体验
作为一名Python开发者,我最近开始使用通义灵码作为开发辅助工具。它显著提高了我的工作效率,特别是在理解和修改复杂代码逻辑方面。通过AI编码助手,我能够在短时间内快速上手新项目,实现新需求,并进行代码优化,整体效率提升了60%以上。通义灵码不仅加快了代码生成速度,还增强了代码的健壮性和稳定性。
|
2月前
|
SQL 关系型数据库 数据库
优化Web开发流程:Python ORM的优势与实现细节
【10月更文挑战第4天】在Web开发中,数据库操作至关重要,但直接编写SQL语句既繁琐又易错。对象关系映射(ORM)技术应运而生,让开发者以面向对象的方式操作数据库,显著提升了开发效率和代码可维护性。本文探讨Python ORM的优势及其实现细节,并通过Django ORM的示例展示其应用。ORM提供高级抽象层,简化数据库操作,提高代码可读性,并支持多种数据库后端,防止SQL注入。Django内置强大的ORM系统,通过定义模型、生成数据库表、插入和查询数据等步骤,展示了如何利用ORM简化复杂的数据库操作。
61 6
|
4月前
|
测试技术 Python
Python接口自动化测试框架(基础篇)-- 流程控制之if条件控制
Python中的流程控制语句if条件控制,涵盖了比较运算符、成员运算符、身份运算符、逻辑运算符的使用,if语句的嵌套,以及如何使用input和print函数进行交互式编程练习。
32 1
Python接口自动化测试框架(基础篇)-- 流程控制之if条件控制
|
3月前
|
SQL 关系型数据库 MySQL
Python操作pymysql数据库的流程与技巧
在现代软件开发中,Python作为一门高效且易于学习的编程语言,广泛应用于各种场景,其中包括数据库操作。**PyMySQL** 是一个流行的Python数据库接口,用于连接和操作MySQL数据库。它提供了一种简便的方法来执行SQL语句、处理数据和管理数据库事务。以下是使用PyMySQL操作MySQL数据库的流程与技巧,旨在为开发者提供一个清晰、实用的指南。
59 0
|
4月前
|
存储 测试技术 数据格式
Python接口自动化测试框架(练习篇)-- 数据类型及控制流程(二)
本文通过数据类型转换和文件读取的练习,复习了Python中的数据类型、循环、条件判断、内置函数等基础知识,并演示了如何将字符串数据转换为字典列表,以及如何从文本文件中读取和转换数据。
40 1
|
4月前
|
机器学习/深度学习 Ubuntu 数据挖掘
Ubuntu系统部署Anaconda环境及Python语言的详细流程
以上就是在Ubuntu系统中安装Anaconda环境及Python语言的详细流程。Anaconda为Python科学计算提供了便捷的管理方式,帮助用户轻松处理不同项目之间依赖管理的复杂性。通过以上步骤,你现在应该有了一个完全可用的Anaconda环境,可以开始在Ubuntu上进行Python编程和数据科学项目的探索了。
114 5
|
4月前
|
Python
python学习笔记---流程控制
这篇文章详细介绍了Python中的流程控制,包括选择结构(if、if-else语句、嵌套if语句)和循环语句(while循环、for循环以及for循环与range()函数的使用),以及如何在循环中使用break和continue语句。
python学习笔记---流程控制
|
4月前
|
JSON 数据库 开发者
FastAPI入门指南:Python开发者必看——从零基础到精通,掌握FastAPI的全栈式Web开发流程,解锁高效编码的秘密!
【8月更文挑战第31天】在当今的Web开发领域,FastAPI迅速成为开发者的热门选择。本指南带领Python开发者快速入门FastAPI,涵盖环境搭建、基础代码、路径参数、请求体处理、数据库操作及异常处理等内容,帮助你轻松掌握这一高效Web框架。通过实践操作,你将学会构建高性能的Web应用,并为后续复杂项目打下坚实基础。
133 0