返回顶部
首页 > 资讯 > 后端开发 > Python >一篇文章搞懂Python程序流程控制结构
  • 336
分享到

一篇文章搞懂Python程序流程控制结构

2024-04-02 19:04:59 336人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

目录一、程序的组织结构1.三种基本结构2.程序流程图二、顺序结构二、选择结构(分支结构)1.单分支 if2.双分支 if…else3.多分支 if…eli

一、程序的组织结构

1.三种基本结构

1996年,计算机科学家证明了这样的事实:任何简单或复杂的算法都可以由顺序结构选择结构循环结构这三种基本结构组合而成

2.程序流程图

程序流程图是一种表达程序控制结构的方式,主要用于关键部分的程序分析和过程描述,由一系列图形、流程线和文字说明等组成。

二、顺序结构

程序按照线性顺序依次执行的一种运行方式。

例:把大象装冰箱分几步:

# 把大象装冰箱分几步
print('--------程序开始--------')
print('1.把冰箱门打开')
print('2.把大象装进冰箱')
print('3.关上冰箱门')
print('--------程序结束--------')

二、选择结构(分支结构)

程序根据判断条件的布尔值选择性地执行部分代码明确的让计算机知道在什么条件下,该去做什么

1.单分支 if

中文语义:如果......就......

语法结构:

if 条件表达式:
    条件执行体

if条件语句:判断一次,条件为True时执行一次

# if条件语句 判断一次 条件为True时执行一次

money = 100
s = int(input('请输入取款金额:'))
if s <= 100:
    money = money - s
    print('取款成功,余额为', money)

2.双分支 if…else

中文语义:如果......不满足......就......

语法结构:

if 条件表达式:
  条件执行体
else:
  条件执行体2

双分支结构if...else,二选一执行

'''双分支结构if...else,二选一执行'''

# 从键盘输入一个整数,编写程序让计算机判断是奇数还是偶数
num = int(input('请输入一个整数:'))
if num % 2 == 0:
    print(num, '是偶数')
else:
    print(num, '是奇数')

3.多分支 if…elif…else

中文语义:如果......就......如果......不满足......就......

语法结构:

if 条件表达式:
   条件执行体
elif   条件表达式:
   条件执行体
elif   条件表达式:
  条件执行体
elif   条件表达式:
  条件执行体
else:
  条件执行体

例:
从键盘录入一个整数成绩:
90-100 : A
80-89 : B
70-79 : C
60-69 : D
0-59 :E
小于0或大于100 不及格

代码:

num = int(input('从键盘输入一个成绩:'))
if 90 <= num <= 100:
    print('A')
elif 80 <= num <= 89:
    print('B')
elif 70 <= num <= 79:
    print('C')
elif 60 <= num <= 69:
    print('D')
elif 0 <= num <= 59:
    print('E')
else:
    print('不及格')

4. 嵌套if的使用

语法结构

if 条件表达式1:
    if 内层条件表达式:
        内层执行体1
    else:
    内层执行体2
else:
    条件执行体

例:商场消费

会员:
    >=200    8折
    >=100    9折
    <100     不打折
非会员: 
    >=200    9.5折
    <100     不打折

代码:

answer = input('您是会员吗?y/n')
money = float(input('请输入您的购物金额:'))
# 外层判断是否是会员
if answer == 'y':  # 会员
    if money >= 200:
        print('打8折,付款金额为:', money*0.8)
    elif money >= 100:
        print('打9折,付款金额为:', money*0.9)
    else:
        print('不打折,付款金额为:', money)
else:  # 非会员
    if money >= 200:
        print('打9.5折,付款金额为:', money*0.95)
    else:
        print('不打折,付款金额为:', money)

5.三元表达式

语法结构x if 判断条件 else y

运算规则:如果判断条件的布尔值为True,条件表达式的返回值为x,否则条件表达式的返回值为False

# 条件表达式   x if 判断条件 else y
a = int(input('请输入第一个整数:'))
b = int(input('请输入第二个整数:'))

'''if a >= b:
    print(a, '>=', b)
else:
    print(a, '<', b)'''


# 条件表达式
print(str(a) + '小于' + str(b)) if a < b else (str(a) + '大于' + str(b))

6.pass语句

pass语句什么都不做,只是一个占位符,用在语法上需要语句的地方

def fun(a, b):
    pass

什么时候使用pass语句:先搭建语法结构,还没想好代码怎么写的时候 。

pass语句与哪些语句一起使用:

  • if语句的条件执行体
  • for-in语句的循环体
  • 定义函数def时的函数体
a = 1
b = 2

if a < b:
    pass


for i in range(10):
    pass


def fun(a, b):
    pass

三、循环结构

反复做同一件事情的情况,称为循环,python语言的循环结构包括两种:遍历循环无限循环。遍历循环使用保留字forin依次提取遍历结构各元素进行处理;无限循环使用保留字while根据判断条件执行程序

1.range()函数的使用

range():用于生成一个整数序列

创建range对象的三种方式

代码:

# 第一种创建方式  range(stop)
range(10)
print(range(10))  # range(0,10) 返回值是一个迭代器对象 默认从0开始,默认步长为1
print(list(range(10)))  # 用于查看range对象中的整数序列 list-->列表

# 第二种创建方式 range(start, stop)
print(range(0, 10))

# 第三种创建方式 range(start,stop,step)
print(range(0, 10, 1))

range()函数的返回值是一个迭代器对象

range类型的优点 :不管range对象表示的整数序列有多长,所有range对象占用的内存空间都是相同的,因为仅仅需要存储start,stop和step,只有当用到range对象时,才会去计算序列中的相关元素

'''内置函数 range(start(开始)未指定从0开始, stop(结束), step(步长)未指定步长为1)'''
r = range(1, 10, 2)
print(r)
print(list(r))  # 列表 [1, 3, 5, 7, 9]
print(tuple(r))  # 元组 (1, 3, 5, 7, 9)
print(set(r))  # 字典 {1, 3, 5, 7, 9}

innot in 判断整数序列中是否存在(不存在)指定的整数

'''判断指定整数在序列中是否存在 in, not in'''
print(3 in r)  # True
print(4 in r)  # False
print(3 not in r)  # False
print(4 not in r)  # True

for value in range(10):
    print(value, end=' ')

2.遍历循环for-in

for-in循环

  • in表达从(字符串、序列等)中依次取值,又称为遍历
  • for-in遍历的对象必须是可迭代对象

for-in的语法结构

for  自定义的变量  in 可迭代对象:
      循环体

for-in的执行图

# for in循环
# in 表达是依次 从 (字符串,序列等) 中依次取值,又称遍历
# for in遍历对象必须是可迭代对象

'''for in 语法结构'''
# for 自定义变量 in 可迭代对象:
#    循环体

for i in 'hello':
    print(i, end=' ')
print('')
for i in range(10):
    print(i, end=' ')
print('')
# 在循环体中如果不需要使用到自定义变量,可将自定义变量写为下划线('_')
for _ in range(3):   # 3表示次数
    print('hello')

使用for循环 计算1-100之间的偶数和

# 使用for循环 计算1-100之间的偶数和
sum = 0
for item in range(101):
    if item % 2 == 0:
        sum += item
print('1-100之间的偶数和为:', sum)

输出100-999之间的水仙花数

'''输出100-999之间的水仙花数  这个数的个位上的三次方 + 十位上的三次方 + 百位上的三次方  = 这个数'''
for item in range(100, 1000):
    ge = item % 10
    shi = item % 100 // 10  # item//10%10
    bai = item // 100
    if item == ge**3+shi**3+bai**3:
        print(item)

3.无限循环while

语法结构

while  条件表达式:
    条件执行体(循环体)

四步循环法:

  • 初始化变量
  • 条件判断
  • 条件执行体(循环体)
  • 改变变量
  • 打印输出

计算0-4之间的累加和

a = 0  # 1.初始化变量
s = 0
while a <= 4:  # 2.条件判断
    s += a  # 3.条件执行体
    a += 1  # 4.改变变量
    print(s)  # 5.打印输出

选择结构的if与循环结构while的区别

  • If是判断一次,条件为True执行一行
  • while是判断N+1次,条件为True执行N

4.循环控制break和continue

循环结构有两个辅助循环控制的保留字:breakcontinue

4.1break

break用来跳出最内层forwhile循环,脱离该循环后程序继续执行循环后续代码,通常与 分支结构 if 一起使用。

例:从键盘录入密码,最多录入三次,如果正确就结束循环

# for 循环
for _ in range(3):  # range()函数可以用作for循环的循环次数 3 表示for执行了3次
    pwd = '888'
    a = input('请输入密码:')
    if a == pwd:
        print('密码正确')
        break
    else:
        print('密码错误,请重新输入密码')

# while 循环,四步循环法
a = 0
while a < 3:
    '''条件执行体(循环体)'''
    b = '888'
    pwd = input('请输入密码:')
    if pwd == b:
        print('密码正确')
        break
    else:
        print('密码错误')
    a += 1

4.2continue

continue语句用来结束当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环,进入下一次循环,通常与分支结构 if 一起使用

例:要求输出1-50-之间所有5的倍数

# for 循环
for i in range(1, 51):
    if i % 5 == 0:
        print(i)

# while 循环
a = 1
while a <= 50:
    if a % 5 == 0:
        print(a)
    a += 1

# continue 语句
for item in range(1, 51):
    if item % 5 != 0:
        continue
    print(item)

5.嵌套循环

循环结构中又嵌套了另外的完整的循环结构,其中内层循环做为外层循环的循环体执行。

例1:打印一个三行四列矩形

for _ in range(3):
    for _ in range(4):
        print('-', end='\t')
    print()

例2:输出乘法口诀表

for i in range(1, 10):
    for j in range(1, i+1):
        print(i, 'x', j, '=', i*j, end='\t')
    print()

四、总结

到此这篇关于Python程序流程控制结构的文章就介绍到这了,更多相关Python程序流程控制结构内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 一篇文章搞懂Python程序流程控制结构

本文链接: https://lsjlt.com/news/120547.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 一篇文章搞懂Python程序流程控制结构
    目录一、程序的组织结构1.三种基本结构2.程序流程图二、顺序结构二、选择结构(分支结构)1.单分支 if2.双分支 if…else3.多分支 if…eli...
    99+
    2024-04-02
  • 一篇文章搞懂MySQL加锁机制
    目录前言锁的分类乐观锁和悲观锁共享锁(S锁)和排他锁(X锁)按加锁粒度区分全局锁表级锁(表锁和MDL锁)意向锁行锁间隙锁next-key lock(临键锁)加锁规则死锁和死锁检测总结...
    99+
    2024-04-02
  • 一篇文章彻底搞懂jdk8线程池
    这可能是最简短的线程池分析文章了。 顶层设计,定义执行接口 Interface Executor(){ void execute(Runnable command); ...
    99+
    2024-04-02
  • [Python] 程序结构与控制流
    1. 条件语句 if、else与elif语句用于控制条件代码的执行。条件语句的一般格式如下: if expression: statements elif expression: statements elif expres...
    99+
    2023-01-31
    结构 程序 Python
  • 一篇文章彻底搞懂Python切片操作
    目录引言一、Python可切片对象的索引方式二、Python切片操作的一般方式三、Python切片操作详细例子1.切取单个值2.切取完整对象3.start_index和end_ind...
    99+
    2024-04-02
  • 一篇文章搞懂Python Unittest测试方法的执行顺序
    目录Unittest回到主题源码初窥回到问题的本质1. 以字典序的方式编写test方法2. 回归本质,从根本解决问题总结Unittest unittest大家应该都不陌生。它作为一款...
    99+
    2024-04-02
  • 一篇文章带你搞定Python多进程
    目录1.Python多进程模块2.Python多进程实现方法一3.Python多进程实现方法二4.Python多线程的通信5.进程池1.Python多进程模块 Python中的多进程...
    99+
    2024-04-02
  • 一篇文章彻底搞懂python正则表达式
    目录前言1. 正则表达式的基本概念2. python的正则表达式re模块3. 正则表达式语法(1)匹配单个字符(2)匹配多个字符(3)边界匹配(4)分组匹配4. re模块相关方法使用...
    99+
    2024-04-02
  • 一篇文章带你搞懂Java线程池实现原理
    目录1. 为什么要使用线程池2. 线程池的使用3. 线程池核心参数4. 线程池工作原理5. 线程池源码剖析5.1 线程池的属性5.2 线程池状态5.3 execute源码5.4 wo...
    99+
    2022-11-13
    Java线程池实现原理 Java线程池原理 Java线程池实现 Java线程池
  • 一篇文章帮你搞懂什么是java的进程和线程
    目录为什么会有进程进程的概念进程的特征线程线程的结构进程之中创建线程的优点进程和线程的区别进程和线程之间的关系总结为什么会有进程 在简单的批处理操作系统中,作业时串行执行的,即一个作...
    99+
    2024-04-02
  • 一文搞懂MySQL执行流程
    目录 一、MySQL技术架构 二、执行流程 1.连接器 2.查询缓存 3.解析SQL 4.执行SQL 总结 一、MySQL技术架构   可以看到,MySQL的技术架构共分为两层:Server层和存储引擎层 Server 层负责建立连接、分...
    99+
    2023-10-27
    mysql 面试 后端 数据库
  • 一篇文章带你搞懂Python类的相关知识
    目录一、什么是类二、类的方法三、类的特性四、总结一、什么是类 类(class),作为代码的父亲,可以说它包裹了很多有趣的函数和方法以及变量,下面我们试着简单创建一个吧。 这样就算创...
    99+
    2024-04-02
  • 一篇文章搞懂Python反斜杠的相关问题
    大家在开发Python的过程中,一定会遇到很多反斜杠的问题,很多人被反斜杠的数量搞得头大。 首先我们写一段非常简单的Python代码,它的作用是把一个字段先转换为JSON格式的字符串...
    99+
    2024-04-02
  • Java流程控制之顺序结构
    目录1.关于顺序结构2.顺序结构简单图示3.示例助解Java中的流程控制语句可以这样分类:顺序结构,选择结构,循环结构。 1.关于顺序结构 JAVA的基本结构就是顺序结构,除非特别指...
    99+
    2024-04-02
  • MySQL--流程控制结构
    一、分支结构   #1.if 函数     语法:if(条件  ,  值1,值2)    功能:实现双分支    应用在begin end中或外面        #2.case 结构    语法:    情况1:类似于switch     ...
    99+
    2018-06-17
    MySQL--流程控制结构 数据库入门 数据库基础教程
  • python流程控制有哪些结构
    python中的流程控制结构有顺序结构、分支结构和循环结构三种:顺序结构顺序结构就是指按顺序去执行步骤,即语句从上至下按顺序执行。分支结构分支结构是指根据条件来选择性的执行某段代码,python中常使用if语句来实现分支结构。循环结构pyt...
    99+
    2024-04-02
  • Python程序控制结构是什么
    这篇“Python程序控制结构是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Pyth...
    99+
    2024-04-02
  • 一篇文章彻底搞懂Python类属性和方法的调用
    目录一、类、对象概述二、类的定义与使用三、类属性和类方法的调用四、私有成员与公有成员总结Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象...
    99+
    2024-04-02
  • 一文了解Python 流程控制
    目录while 循环死循环与效率问题结束循环的方式方式一 将条件改成 False,等到下次循环在判断条件的的时候会生效方式二 break,立即终止本层循环whil...
    99+
    2024-04-02
  • 一文详解C++的程序流程控制
    目录一、前言2、三目运算符3、switch语句三、循环结构1、while循环语句2、do…while循环语句3、for循环语句四、跳转语句1、break语句2、cont...
    99+
    2022-11-13
    C++程序流程控制 C++流程控制
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作