首页 > 编程语言 >Python教程(15)——Python流程控制语句详解

Python教程(15)——Python流程控制语句详解

时间:2023-10-22 12:13:44浏览次数:40  
标签:语句 遍历 15 Python num range 详解 print 循环

Python流程控制是Python编程中非常重要的一部分,它用于控制程序的执行流程。Python提供了多种流程控制语句,包括if语句、while循环、for循环、break和continue语句等。这种流程控制在各个语言中都是大同小异的,如果你已经学过其他的语言,那么这章节就可以直接跳过。

if语句

if语句用于根据条件执行不同的代码块。condition是一个布尔表达式,后面一定要加冒号,这是python语法规定。if语句后面的条件表达式是可以加括号的,但并不是必须的。使用括号可以使代码更加清晰易读,特别是在复杂的条件表达式中。然而,括号并不是语法要求,可以根据个人编码风格和团队约定进行选择。

if condition:
    # code to be executed if condition is True
else:
    # code to be executed if condition is False

下面的代码演示了如何使用if语句来判断一个数是否为正数:

num = int(input("请输入一个整数:"))
if num > 0:
    print("输入的数是正数")
else:
    print("输入的数不是正数")

else if语句

else if语句用于在if语句之后添加多个条件分支,使用方式和if语句是一样的。另外需要注意的是最后的else语句是直接在else后面加冒号的,应该后面已经没有判断条件了。

if condition1:
    # code to be executed if condition1 is True
elif condition2:
    # code to be executed if condition1 is False and condition2 is True
else:
    # code to be executed if condition1 and condition2 are False

condition1condition2是两个布尔表达式,如果它们的值为True,则执行相应的代码块;否则执行else语句中的代码块。下面的代码演示了如何使用else if语句来判断一个数是否为偶数:

num = int(input("请输入大于0的数:"))
if num > 0:
    print("输入的数大于0")
else if num < 0:
    print("输入的数小于0")
else:
    print("输入的数等于0")

for循环

for循环用于遍历一个序列(如列表、元组或字符串)中的元素。它的语法如下:

for element in sequence:
    # code to be executed for each element in sequence

其中,element是当前遍历到的序列元素的值,sequence是一个序列(如列表、元组或字符串)。循环体内的代码块可以包含任意Python语句。在每次循环迭代中,element的值都会被更新为下一个序列元素的值。

遍历类型

for循环是可以用于遍历各种序列,主要有列表、元组、字符串、字典等。

  1. 遍历列表:
fruits = ["apple", "banana", "orange"]
for fruit in fruits:
   print(fruit)
  1. 遍历元组:
numbers = (1, 2, 3, 4, 5)
for num in numbers:
   print(num)
  1. 遍历字符串:
word = "Python"
for char in word:
   print(char)
  1. 遍历字典的键:
ages = {"John": 25, "Alice": 28, "Bob": 30}
for name in ages:
   print(name)

range关键字

以上是for循环遍历列表元组相关操作,有时候我们又需要遍历序列,这时候就需要range关键字了。在 Python中,range() 是一个内置函数,用于生成一个整数序列。它可以通过指定起始值、结束值和步长来生成相应的序列。

range() 函数的语法如下:

range(stop)
range(start, stop)
range(start, stop, step)

参数说明:

  • start(可选):起始值,默认为 0。
  • stop:结束值,生成的序列不包括该值。
  • step(可选):步长,默认为 1。

range() 函数返回的是一个可迭代对象,通常与 for 循环结合使用。当只传递一个参数时,默认是作为结束值;当传递两个参数时,第一个参数作为起始值,第二个参数作为结束值;当传递三个参数时,第一个参数作为起始值,第二个参数作为结束值,第三个参数作为步长。

以下是一些使用 range() 函数的示例:

# 生成 0 至 4 的整数序列
numbers1 = range(5)
print(list(numbers1))  # [0, 1, 2, 3, 4]

# 生成 1 至 10 的整数序列
numbers2 = range(1, 11)
print(list(numbers2))  # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

# 生成 0 至 10 的偶数序列
numbers3 = range(0, 11, 2)
print(list(numbers3))  # [0, 2, 4, 6, 8, 10]

for element in range(start, stop, step):
    # 在此处执行循环体语句

需要注意的是,range() 函数生成的是惰性序列(lazy sequence),它并不会一次性地将所有的值都存储在内存中,而是在需要的时候才生成新的值。如果想要立即获取包含所有整数的列表,可以使用 list(range(start, stop, step)) 的方式进行转换。

# 遍历 1 至 10 的整数,步长为 1
for num in range(1, 11, 1):
    print(num)

# 遍历 0 至 10 的偶数,步长为 2
for num in range(0, 11, 2):
    print(num)

# 遍历 10 至 1 的整数,步长为 -1
for num in range(10, 0, -1):
    print(num)

while循环

while循环用于重复执行一段代码,直到满足某个条件为止。它的语法如下:

while condition:
    # code to be executed repeatedly until condition is False

condition是一个布尔表达式,如果它的值为True,则执行循环体内的代码块;否则跳出循环。循环体内的代码块可以包含任意Python语句。

下面的代码演示了如何使用while循环来计算1到100的和:

total = 0
i = 1
while i <= 100:
    total += i
    i += 1
print("1到100的和为:", total)

注意,在while循环中,一定要确保在循环体中更新循环条件的值,以避免无限循环的情况发生。如果条件永远为真,会导致代码陷入无限循环的状态,程序无法继续向下执行。
为了避免无限循环,可以在循环体内使用适当的条件控制语句(如break)来跳出循环,或者在外部设定一个计数器,并确保在合适的时机更新计数器的值。

break语句

break 是一种控制流语句,在循环中使用它可以立即终止循环并跳出循环体,进而执行循环外的下一条语句。当 break 语句被执行时,程序将会跳出循环,继续执行循环后面的代码。它可以用于 while 循环、for 循环等循环结构。

fruits = ["apple", "banana", "cherry", "date"]

for fruit in fruits:
    if fruit == "cherry":
        break
    print(fruit)

print("Loop ends")

输出结果为:

apple
banana
Loop ends

在上面的示例中,当循环遍历到 "cherry" 时,满足条件 fruit == "cherry"break 被执行,立即终止了循环。因此,后续的 "date" 不会被输出。

使用 break 语句可以在满足特定条件时,提前退出循环,从而减少不必要的迭代。在某些情况下,特定条件的出现可能会导致循环无需执行其余部分,这时可以利用 break 来提前终止循环,节省计算资源。

continue语句

在Python中,continue语句用于跳过当前循环中的剩余代码,并继续执行下一次循环。当continue语句被执行时,程序将立即跳转到循环的开头,而不执行continue语句之后的代码。它通常用于条件判断内部,用来控制循环的执行流程。

for i in range(1, 11):
    if i % 2 == 1:
        continue
    print(i)

上述代码将输出偶数的数字,而跳过了奇数。输出结果如下:

2
4
6
8
10

在上述示例中,循环从1到10,当遇到奇数时,continue语句将会跳过print(i)的执行,直接进入下一次循环,从而实现了只输出偶数的效果。

需要注意的是,continue语句只会跳过当前循环内部的剩余代码,不会终止整个循环。如果要彻底终止循环,可以使用break语句。

标签:语句,遍历,15,Python,num,range,详解,print,循环
From: https://www.cnblogs.com/kiwiblog/p/17780232.html

相关文章

  • python--猜数字游戏改编版2--用函数套用
    #猜数字游戏让游戏者决定几到几的数字,用函数做defcaishuzi_game(x,y):importrandomx=int(random.randint(x,y))b=int(input("请输入你要猜的数字"))a=1whilea<5:b=int(input("请输入你要猜的数字"))ifx==b:print("恭......
  • python遍历一个xlsx中的多个表
    遍历xlsx中的多个表:比如说如果有如下xlsx,里面有4张表,如何遍历出4张表中的数据?   步骤:(1)用load_workbook函数打开excel文件,返回一个工作簿对象(2)用工作簿对象获取所有的sheet(3)第一个for循环遍历所有sheet(4)每次遍历sheet时,先用get_sheet_by_name获取要遍历的sheet(5)开始下一个......
  • python-用函数让用户决定要几乘几乘法表
    #n*n乘法表用函数defrenyi_chengfabiao():forainrange(1,x+1):forbinrange(1,x+1):c=a*bifb<=a:print(int(b),"*",int(a),"=",int(c),end="")print()whileTrue......
  • 小白学 Python:将 XML 转换为字典的 Python 程序
    在本文中,我们将讨论如何使用Python将XML转换为字典。使用的模块xmltodict:它是一个Python模块,使使用XML感觉就像使用[JSON]一样。在终端中运行以下命令来安装模块。句法:pip安装xmltodictpprint: pprint模块提供了以格式良好且更具可读性的方式“漂亮打印”任意Python......
  • 小白学 Python:在 Python 中创建 ChatGPT 克隆
    在Python中创建ChatGPT克隆我们将学习如何使用Python中的Flet开发具有多个节点的聊天应用程序以及使用OpenAI的text-davinci-003[ChatGPTAPI]模型引擎制作的应答机器人。Flet是什么?无需直接使用Flutter,程序员就可以使用FletPython库创建实时Web、移动和桌面应用......
  • 小白学 Python: 如何在Python中使用ChatGPT API?
    如何在Python中使用ChatGPTAPI?ChatGPT及其必然的应用。日复一日,我们周围的一切似乎都在通过使用不同人工智能和机器学习技术的多个人工智能模型以及使用Python的聊天机器人而变得自动化,聊天GPT的用途及其有用的应用程序之一我们今天将讨论。因此,在讨论其应用程序之前,让我们先......
  • Sobel算子详解及例程
    Sobel算子是一种经典的边缘检测算子,被广泛应用于图像处理领域。它基于图像亮度的变化率来检测边缘的位置,主要通过计算图像中像素点的梯度来实现。Sobel算子分为水平和垂直两个方向的算子,记作Gx和Gy。它们分别对图像进行水平和垂直方向的卷积运算,得到对应方向上的梯度值。具体而言,So......
  • python包引用方式总结
    本文为博主原创,转载请注明出处:在Python中,有多种引用包的方式。以下是常见的方式:1.import语句import语句是最常见和推荐的引用包的方式。它允许你引入整个包或包中的特定模块/子模块。importpackage_nameimportpackage_name.module_namefrompackage_nameimportmod......
  • 2023 版 Java和python开发线性代数探索
    目录前景提示需求分析1、初始化不需要指定矩阵的尺寸,并且可以直接传入数据。2、可以计算2x2矩阵的逆3、可以做2x2的矩阵乘法Java版本开发一、开发详情1、开发一个子类,如图所示。2、根据问题修改子类,父类,以便真实可用解决1、初始化不需要指定矩阵的尺寸,并且可以直接传入数据。解决......
  • bytewax python 流处理框架
    bytewaxpython流处理框架,支持批以及流处理,内部使用了timely-dataflowrust库bytewax支持的模式主要是多worker以及多process核心还是单机场景,暂时不支持多主机的集群模式,同时对于状态的存储以及recovery使用了sqlite说明以前我也介绍过一个基于rust的流处理引擎arroyo,......