IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> Python3 流程控制 -> 正文阅读

[Python知识库]Python3 流程控制

条件语句

所谓条件语句,顾名思义,就是依据某个条件,满足这个条件后执行下面的内容。

if

if是构成条件语句的关键词,在Python中,if条件语句最简单的实现方式如下:

a = 2
if a == 2:
    print('a=2')

在上面简陋但仍可行的程序中,语句if a == 2:,如果条件a == 2返回的是True,那么就执行下面的语句。特别注意,冒号是必须有。此外,在条件成立时执行的print('a=2')中,前面要有4个空格。这是Python的特点,称为语句块。
在《维基百科》是这样解释的:
Python开发者有意让违反了缩排规则的程序不能通过编译,以此来使程序员养成良好的编程习惯。并且Python语言利用缩排表示语句块的开始和结束(Off-side规则),而非使用花括号或者某种关键词。增加缩排表示语句块的开始,而减少缩排表示语句块的结束。缩排成为了语法的一部分,例如上面的if语句。
根据PEP的规定,必须使用4个空格来表示每级缩排。使用Tab字符和其他数目的空格虽然可以编译通过,但不符合编码规范。支持Tab字符和其他数目的空格仅仅是为了兼容很旧的Python程序和某些有问题的编辑程序。

if…elif…else

在实际的应用中,仅用if往往是不够的,即第一个条件不足以判断所有情况,这时就需要引入别的条件判断,所以就有了if...elif...else语句。其基本语句结构如下:

if 条件1:
    语句块1
elif 条件2:
    语句块2
elif 条件3:
    语句块3
....
else:
    语句块n

具体例子:

print('请任意输入一个整数:')
num = int(input())

if num == 5:
    print('输入的数字为:{}'.format(num))
elif num > 5:
    print('输入的数字为:{},大于5'.format(num))
else:
    print('输入的数字为:{},小于5'.format(num))

当然,在实际的应用中可不会这么简单,甚至有嵌套的语句,如:

if expression:
    pass
    if expression:
        pass
    elif expression:
        pass
    else:
        pass
elif expression:
    pass

else:
    pass
三元运算符

三元运算,是条件语句中比较简练的一种表达方式,其基本结构如下:

A = 95
score = "Good" if A > 90 else "Bad"
print(score)
# 输出Good

从上面的例子看,实际上就是把if...else语句写到一行,如果要抽象成公式,大概就是这样的:A = X if Y else Z

  • 如果Y为真,那么就执行A = X
  • 如果Y为假,则执行A = Z

注意,三元运算中,ifelse后面都不需要跟冒号:

循环语句

for

在高级编程语言中,大多数都有for循环,它是编程语言中针对可迭代对象的语句,它允许代码被重复执行。for循环的一般格式如下:

for <variable> in <sequence>:
    <statements>
else:
    <statements>

实例:

lang = ['Python','Java','C++','C']
for i in lang:
    print(i)
# 输出:
# Python
# Java
# C++
# C

for是发起循环的关键词,i in lang是循环规则,列表类型对象是序列类型,可以从左到右一个一个地按照索引将序列中的元素读取出来。当i=Python时打印print(i)此时的i自然是Python,如此循环直到最后一个元素,循环自动结束。

range(start,stop[,step])

range()这个内建函数因为经常与for循环一起结合使用,所以接下来结合循环来讲一下range()
首先解释一下range(start,stop[,step])的含义:

  • start:开始的数值,默认为0,也就是如果不写这项,则默认start=0
  • stop:结束的数值,必须写。
  • step:变化步长,默认为1,也可以是正数也可以是负数。
>>> list(range(0,5,1))
[0, 1, 2, 3, 4]
>>> list(range(0,9,2))
[0, 2, 4, 6, 8]
>>> list(rang(0,-9,-1))
[0, -1, -2, -3, -4, -5, -6, -7, -8]

值得注意的是,在range()函数中,输出值是不包括stop值的,也就是其参数是一个半开区间[start,stop)。有了以下的介绍,下面可以把range()for结合起来讲了,直接看以下例子:

lang = ['Python','Java','C++','C']
n = len(lang)
for i in range(n):
    print(lang[i])

# 输出:
# Python
# Java
# C++
# C

上面的n实际上就是lang列表的长度即为4,则range(n)就相当于range(4),如果写完整点就是range(0,4,1),然后将i作为索引输出列表的每一项元素。

while

Python中while语句的一般形式:

while 判断条件(condition):
    执行语句(statements)……

具体实例:

n = 100
sum, i = 0, 1
while i <= n:
    sum += i
    i += 1
print(sum)
# 输出:5050
break与continue

break,在某个地方中断循环,跳出循环体。

n = 5
while n > 0:
    if n == 2:
        break
    else:
        print(n)
        n -= 1
# 当n等于2时跳出循环,否则输出n,且n每循环一次值都减一。
# 输出
# 5
# 4
# 3
for i in range(1,5):
    if i == 2:
        break
    else:
        print(i)

continue,从当前位置跳到循环体的最后一行的后面,即跳出当前当轮循环进行下一轮循环。

n = 6
while n > 0:
    n -= 1
    if n % 2 == 0:
        continue
    else:
        print(n)
        
# 输出1-5之间的奇数
for i in range(1,6):
    if i % 2 == 0:
        continue
    else:
        print(i)
# 输出1-5之间的奇数
while … else

while...else有点类似与if...else,一旦遇到else,就意味着已经不在while循环内了。

n = 5
while n > 0:
    print(n)
    n -= 1
else:
    print("n <= 0")
for … else

for...else,与while...else类似

for i in range(1,5):
    print(i)
else:
    print("is out of range")
# 输出
# 5
# 4
# 3
# 2
# 1
# n <= 0
  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-04 19:27:40  更:2021-07-04 19:28:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/14 14:41:21-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码