Python中的循环:为什么要使用一个?

举报
Yuchuan 发表于 2021/02/27 22:03:46 2021/02/27
【摘要】 Python中的循环学习

对于任何程序员来说,处理冗余代码和重复命令都是一场噩梦。Python利用循环,控制和条件语句来克服这一障碍。本文将帮助您了解python中的循环以及围绕循环的所有术语。

  1. 什么是Python中的循环?
  2. 什么是for循环和while循环?
  3. 循环控制语句

    如果您想通过 Certified Python Expert掌握Python中循环的概念,可以查看下面的视频,其中更广泛地介绍了这些主题。

    什么是Python中的循环? 

    Python中的循环 使我们可以多次执行一组语句。让我们举个例子来理解为什么在python中使用循环。

    假设您是一名软件开发人员,并且需要为办公室中的所有员工提供一个软件模块。因此,您必须分别打印每个员工的工资明细。打印所有员工的详细信息将是一项艰巨的任务,相反,您可以使用逻辑来计算详细信息并继续迭代相同的逻辑语句。这将节省您的时间并使代码高效。

    下图是循环的流程图:   

    python-Edureka中循环循环的流程图

    执行开始并检查条件是True还是False。一个 条件可以是任何逻辑,我们希望在我们的程序测试。 如果为true,则将执行循环的主体;如果为false,则将退出循环

    条件语句

    Python中的条件语句支持数学中通常的逻辑条件。

    例如:

    • 等于:a == b
    • 不等于:a!= b
    • 小于:a <b
    • 小于或等于:a <= b
    • 大于:a> b
    • 大于或等于:a> = b

    这些语句可以以多种方式使用,最常见的是if 语句。

    让我们了解if语句的概念。

    “如果”声明

    一个如果语句使用的书面如果“ 关键字,语法是“如果”,随后与条件有关的关键字。

    以下是if语句的流程图:

    python-Edureka中if循环的流程图

    如您所见,执行遇到if条件并采取相应措施。如果为true,则执行主体;如果为false,则退出if语句。 

    a = 10
    b = 20
    if a < b :
    print(" b is greater")

    上面的代码段说明了在if语句中如何使用条件的基本示例。 

    当到达if语句时,它将检查b的值是否更大。如果b更大,则打印“ b更大”。现在,如果条件为false, 则退出if语句并执行下一条语句。为了打印下一条语句,我们可以为希望执行的替代结果添加关键字“ else ”。让我们转到else语句以更好地理解。

    '其他'声明

    其他关键字捕获任何没有被前面的条件抓获。 如果if语句的条件为false ,则执行将移至else语句。

    让我们看一下下面的else语句的流程图:

    python-Edureka中else循环的流程图

    如您所见,当if语句为false时,执行移至else的主体 让我们用一个例子来理解这一点。

    a = 10
    b = 20
    if a < b :
    print(" b is greater")
    else:
    print(" a is greater")

    第一个条件不成立,因此我们将移至下一个语句,即else语句,并打印“ b更大”。

    如果我们有更多条件要测试,我们也可以使用elif语句。

    'elif'声明

    外行术语中的elif语句的意思是“改为尝试此条件”。其余条件可以通过使用elif关键字来使用。

    让我们看下面的代码:

    a = 10
    b = 20
    if a < b :
    print(" b is greater")
    elif a == b :
    print(" a is equal to b ")
    else:
    print(" a is greater")

    “如果if语句不为真,则执行将移至elif语句并检查其是否成立。最后,else语句if和elif为假。

    由于a = b,因此“ b越大”将在此处打印。

    注意:python依靠缩进,其他编程语言在循环中使用大括号。

    什么是“ for”循环和“ while”循环

    python-Edureka中for循环的流程图

    用于循环用于执行语句,一旦序列中的每个项目。该序列可能是一个列表,字典,一组或一个字符串。

    用于循环由两个部分组成,其中,被指定的循环语句,然后有其一次每次迭代执行的体块。

    while循环不同,我们已经指定了迭代必须执行的次数。for循环语法需要三个字段,一个布尔条件,计数变量的初始值和计数变量的增量。

    查看示例以更好地理解这一点:

    days = ["sun" , "mon" , "tue" , "wed", "thu", "fri", "sat"]
    for x in days:
    print(x)

    在这里,我们正在遍历列表。要遍历代码指定的次数,可以使用range()函数。

    范围功能

    范围函数需要特定的数字序列。它从0开始,然后值递增1,直到达到指定的数字。

    例如:

    for x in range(3)
    print(x)

    它将从0-2打印,输出看起来像

    0 
    1
    2

    注意: 范围(3)并不表示0-3的值,而是0-2的值。

    下面是使用条件语句的另一个示例:

    python-Edureka中的示例循环

    num = int(input("number"))
     
    factorial = 1
    if num < 0 :
    print(" invalid input")
    elif num == 0:
    print(" factorial is 1")
    else:
    for i in range( 1 , num+1):
    factorial = factorial * i
    print(factorial)

    “ while”循环

    只要条件为true“ while”循环就会执行这组语句。

    它由条件块和带有语句集的主体组成,它将继续执行该语句,直到条件变为假为止。无法保证看到循环将持续迭代多长时间。

    以下是while循环的流程图:

    python-Edureka中while循环的流程图

    为了理解这一点,让我们看下面的例子。

    例子:

    i = 1
    while i < 6 :
         print(i)
         i += 1

    输出:它将打印1 2 3 4 5

    执行将继续直到i的值达到6。

    while循环需要相关的变量准备就绪,这里我们需要一个索引变量,该变量可以是任何值。

    让我们考虑另一个示例:

    python-Edureka中的示例循环

    num = int(input("enter number"))
    while num > 0:
        if num < 13:
            print("the number is too large")
            break
        elif num < 13:
            print("number too small")
            break
        elif num == 13:
            print("exit: congratulations")
            break

    注意:记住要迭代i,否则循环将永远持续下去。如果此处没有控制语句,则循环将永远继续。尝试删除break语句,然后再次运行。

    在某些情况下,我们可能需要控制执行流程以适应一些条件,因此让我们了解Python中的循环控制语句。

    循环控制语句

    为了控制循环流或根据一些指定条件更改执行,我们使用下面讨论的循环控制语句。 控制语句用于根据条件更改执行。

    在Python中,我们有三个控制语句:

    休息

    Break语句用于终止包含它的循环的执行。一旦循环遇到break语句,循环就会终止,并且执行将转移到循环之后的下一条语句。

    python-Edureka中的中断循环流程图

    如您所见,当中断返回true时,执行将移至循环下方的语句。

    让我们通过一个示例更好地理解这一点:

    for val in "string" :
        if val == "i":
           break
           print(val)
        print("the end")

    输出

    s
    Ť
    [R
    结束

    在此,一旦在字符串中遇到字符串“ i”,执行就会停止。然后执行将跳至下一条语句。

    继续

    继续语句用于跳过其余代码在循环当前迭代。我t不与终止,如环语句,并用剩下的迭代继续。

    python-Edureka中的continue循环流程图

    当遇到continue时,它仅跳过该迭代的其余循环。

    例如:

    for val in "string" :
        if val == "i":
           continue
           print(val)
       print("the end")
    输出: 
    s
    Ť
    [R
    ñ
    G
    结束
    

    它将在输出中跳过字符串“ i”,其余的迭代仍将执行。字符串中除“ i”以外的所有字母都将被打印。

    经过

    语句是一个空操作。基本上,这意味着该语句在语法上是必需的,但是您不希望执行任何命令或代码。

    看一下下面的代码:

    for val in "please":
    if val == "a":
       pass
       print("pass block")
       print(val)

    输出:

    p 
    通过块
    一种
    s

    执行不会受到影响,并且一旦遇到“ a”字符串,它将仅打印pass块。执行将从“ a”开始,并执行其余的其余迭代。

    使用break语句的“ while”循环

    让我们了解如何使用带有以下示例的break语句使用while循环:

    i = 1
    while i < 6 : 
         print(i)
         if i == 3 :
            break
            i += 1

    输出:它将打印1 2

    当迭代达到3时,将终止执行,并执行下一条语句。

    使用Continue语句

    让我们以while循环中的continue语句为例:

    i = 1
    while i < 6: 
       print(i)
       if i == 3 :
          continue
          i += 1

    输出:1 2 4 5

    在这里,执行将被跳过,其余的迭代将被执行。

    嵌套循环

    Python允许我们在另一个循环中使用一个循环,以下是一些示例

    嵌套循环

    在另一个for循环中使用for循环的示例:

    for i in range(1 , 6):
      for j in range(i):
         print( i , end="")
       print()

    输出:

    1
    2 2
    3 3 3
    4 4 4 4

    嵌套的“ while”循环

    以下是使用嵌套while循环的基本语法:

    while expression:
    while expression:
    statement(s)
    statement(s)

    例子:

    显示嵌套的whilefor循环的示例:

    travelling = input("yes or no")
    while travelling == "yes" :
          num = int(input("number of people"))
     for num in range( 1 , num+1):
         name = input("name")
         age = input("age")
         gender = input("gender")
         print(name)
         print(age)
         print(gender)
    travelling = input("oops missed someone")

    在这个项目中,我们已经使用了,而循环和身体内部,而循环中,我们已经结合了用于循环。

    本博客中讨论的概念将帮助您理解Python中的循环。当您希望精通Python时,这将非常方便,并且将帮助您提高代码效率。Python是一种广泛使用的高级语言。

    【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
    • 点赞
    • 收藏
    • 关注作者

    评论(0

    0/1000
    抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。