• 『Python基础-7』for循环 & while循环


    『Python基础-7』for循环 & while循环


    目录:

    1. 循环语句
    2. for循环
    3. while循环
    4. 循环的控制语句: break,continue,pass
    5. for...else 和 while...else

    1. 循环语句

    循环这种概念很重要,因为它是让计算机自动完成重复工作的常见方式之一。

    编程语言提供了各种控制结构,允许更复杂的执行路径。

    循环语句允许我们执行一个语句或语句组多次

    在Python中,有两种循环: for循环while循环:

    • 两者的相同点在于都能循环做一件重复的事情;
    • 不同点在于,for循环是在序列穷尽时停止,while循环是在条件不成立时停止。

    2. for循环

    在Python中 for循环可以遍历任何序列的项目,如一个列表或者一个字符串等。
    遍历 - 对每个元素执行相同的操作,通俗点说,就是把这个循环中的第一个元素到最后一个元素依次访问一次.

    • for循环的流程图:
      for 循环.jpg

    - for循环的基本结构如下:

    for 临时变量 in 列表或者字符串等可迭代对象:
        循环满足条件时执行的代码
    

    for...in 是Python程序员使用最多的语句,for 循环用于迭代容器对象中的元素,这些对象可以是列表、元组、字典、集合、文件,甚至可以是自定义类或者函数,例如:

    1. 作用于列表
    2. 作用于元组
    3. 作用于字符串
    4. 作用于集合
    5. 作用于字典
    6. 作用于文件

    代码:

    # 1.for循环遍历列表
    Fruits=['apple','orange','banana','grape']
    for fruit in Fruits:
        print(fruit)
    print("结束遍历")
    # 2. 遍历字符串
    for str in 'abc':
        print(str)
     # 3. 遍历字典:   
     for key,value in {"name":'Kaina',"age":22}.items():
        print("键---"+key)
        print("值---"+str(value))
     # 4. 遍历文件
     for content in open("D:\test.txt"):
        print(content)
    

    for循环和range

    for x in range(1,5):
        print(x)
    print("注意:打印0-5的范围内的数,不会包括5")
    
    for x in range(1,5,2):
        print(x)
    print(1)
    print("三个参数:起始位置(默认0),结束位置(不包含),步长(默认为1,可以为负数)")
    
    for x in range (5,1,-2):
        print(x)
    

    3. While 循环语句

    while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务。

    执行语句可以是单个语句或语句块。判断条件可以是任何表达式,任何非零、或非空(null)的值均为true。

    当判断条件假false时,循环结束。

    执行流程图如下:
    while循环.jpg

    while循环的基本结构如下:

     while 条件:
            条件满足时,做的事情1
            条件满足时,做的事情2
            条件满足时,做的事情3
            ...(省略)...
    

    例:

     i = 0
        while i < 5:
            print("当前是第%d次执行循环" % (i + 1))
            print("i=%d" % i)
            I+=1
    

    运行结果:

    当前是第1次执行循环
        I=0
        当前是第2次执行循环
        I=1
        当前是第3次执行循环
        I=2
        当前是第4次执行循环
        I=3
        当前是第5次执行循环
        I=4
    

    无限循环(死循环)

    我们可以通过设置条件表达式永不为False达到无限循环,例如:

    #1.死循环
    I=1
    while I<9:
        print(str(i)+"只羊")
    
    #2.使用一个自增变量来约束条件
    I=1
    while I<4:
        print(str(i)+"只羊")
        # 需要一个变量来约束while中的条件
        I+=1
    
    • 可以使用CTRL +C退出当前的无限循环。
    • 无限循环在服务器上客户端的实时请求非常有用。

    4. 循环语句的控制语句: break, continue, pass

    continue:当前这次的循环跳出,继续下一个循环
    break:跳出当前整个循环
    pass: 空操作,pass表示站位,后面的代码(else之前)还是会执行

    在while循环中使用break关键字

    I=0
    while True:
        I+=1
        if i==10:
            break
           #print("此内容无法打印!")
    print("循环的次数为:"+str(i))
    

    运行结果:循环的次数为:10
    说明:使用break关键字,不在执行余下的代码并退出整个循环。

    在while循环中使用continue关键字:

    number=0
    while number<10:
        number+=1
        if number%2==0:
            continue
        print(number)
    

    在while循环中使用pass关键字:

    n = 1
    while n<11:
    	if n == 7:
    		pass
    	else:
    		print (n)
    	n += 1	
    

    5. for...else 和 while..else

    循环语句可以有 else 子句,它在穷尽列表(以for循环)或条件变为 false (以while循环)导致循环终止时被执行,但循环被break终止时不执行。

    for...else

    在 python 中,for … else 表示这样的意思,for 中的语句和普通的没有区别,else 中的语句会在循环正常执行完(即 for 不是通过 break 跳出而中断的)的情况下执行,while … else 也是一样。

    for num in range(10,20):  # 迭代 10 到 20 之间的数字
       for i in range(2,num): # 根据因子迭代
          if num%i == 0:      # 确定第一个因子
             j=num/i          # 计算第二个因子
             print '%d 等于 %d * %d' % (num,i,j)
             break            # 跳出当前循环
       else:                  # 循环的 else 部分
          print num, '是一个质数'
    

    运行结果:

    0 等于 2 * 5
    11 是一个质数
    12 等于 2 * 6
    13 是一个质数
    14 等于 2 * 7
    15 等于 3 * 5
    16 等于 2 * 8
    17 是一个质数
    18 等于 2 * 9
    19 是一个质数
    

    while...else

    在Python的while循环中会有whlie...else语句,其else语句只有在while正常结束时才会被执行,如果while循环被break语句结束,是不会执行else语句的。
    即,在 python 中,while … else 在循环条件为 false 时执行 else 语句块:

    var = 6
    while var > 0:
       var = var -1
       if var == 3:             # 变量为 3 时跳过输出
        break
       print ('当前变量值 :', var)
    else:
        print("Good bye!")
    

    执行结果:

    当前变量值 : 5
    当前变量值 : 4
    
  • 相关阅读:
    怎么把创业的风险降到最低
    反思:创业一开始并不需要重量级的产品
    口头承诺不如白纸黑字 技术大牛曹政(前4399核心员工)期权被坑的那些事
    idea配置tomcat去启动web项目
    Closeable释放资源
    Spring的SchedulingConfigurer实现定时任务
    thymeleaf js绑定多个变量参数
    Mysql concat() group_concat()用法
    枚举
    lambda之美
  • 原文地址:https://www.cnblogs.com/gybb/p/9791248.html
Copyright © 2020-2023  润新知