zoukankan      html  css  js  c++  java
  • Python学习【第五篇】循环语句

    Python循环语句

    接下来将介绍Python的循环语句,程序在一般情况下是按顺序执行的。

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

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

    Python提供了for循环和while循环(在Python中没有do...while循环):

    for循环

    要计算1+2+3,我们可以直接写表达式:

    >>>1 + 2 + 3
    6

    要计算1+2+3+...+10,勉强也能这样写出来,但是,如果要计算1+2+3+...+1000,直接写表达式就不可能了。

    为了然计算机能成千上万次的重复运算,我们就需要循环语句。

    例1、我们先来看一个最简单的循环:

    for i in range(10):
        print("loop:",i)
    
    
    # 输出:
    loop: 0
    loop: 1
    loop: 2
    loop: 3
    loop: 4
    loop: 5
    loop: 6
    loop: 7
    loop: 8
    loop: 9

    例2、还是上面的程序,但是遇到小于5的循环次数就不走了,直接跳入下一次循环:

    for i in range (10):
        if i < 5:
            continue
        print("loop:",i)
    
    # 输出
    loop: 5
    loop: 6
    loop: 7
    loop: 8
    loop: 9

    Python continue语句跳出本次循环

    continue 语句用来告诉Python跳过当前循环的剩余语句,然后继续进行下一轮循环。

    例3、还是上面的程序,但遇到大于5的循环次数就不走了,直接退出:

    for i in range (10):
        if i > 5:
            break
        print("loop:",i)
    
    # 输出
    loop: 0
    loop: 1
    loop: 2
    loop: 3
    loop: 4
    loop: 5

    break语句用来终止循环语句,即循环条件没有False条件或者序列还没有被完全地硅烷,也会停止执行循环语句。

    例4、还是上面的程序,但遇到等于5的循环次数,我想让它打个盹再继续执行下面的循环:

    for i in range(10):
        if i == 5:
            pass
            print("让我打个盹")
        print("loop:",i)
     
    # 输出
    loop: 0
    loop: 1
    loop: 2
    loop: 3
    loop: 4
    让我打个盹
    loop: 5
    loop: 6
    loop: 7
    loop: 8
    loop: 9

    pass是空语句,是为了保持程序结构的完整性。

    pass不做任何事情,一般用做占位语句

    例5、回到最初的问题,让我们看看通过for循环如何实现1一直加到1000:

    #!/usr/bin/env python
    
    sum = 0
    for x in range (1001):
        sum = sum + x
    print(sum)

    Python提供的 range()函数,可以生成一个整数序列,range(1001)就可以生成0-1000的整数序列。

    while循环

    第二种循环是while循环,只要条件满足,就不断循环,条件不满足时退出循环。

    这里我想讲一下,有一种循环叫死循环,一经触发,就运行到天荒地老,海枯石烂。

    例1、海枯石烂的代码:

    count = 0
    while True:
        print("海枯石烂的死循环。。。",count)
        count  +=1
     
     
    # 输出
    海枯石烂的死循环。。。1
    海枯石烂的死循环。。。2
    海枯石烂的死循环。。。3
    海枯石烂的死循环。。。4
    海枯石烂的死循环。。。5
    ......

    其实除了时间,没有什么是永恒的,死loop还是少写为好

    例2、上面的代码循环5次就退出吧

    count = 0
    while True:
        count += 1
        print("海枯石烂的死循环。。。",count)
        if count == 5:
            print("滚")
            break
     
     # 输出
    海枯石烂的死循环。。。 1
    海枯石烂的死循环。。。 2
    海枯石烂的死循环。。。 3
    海枯石烂的死循环。。。 4
    海枯石烂的死循环。。。 5
    滚

    练习题

    还记得上一篇文章中遗留下来的问题吗?猜年龄的游戏,我们希望用户在输错年龄后还能继续猜,而不是退出这个程序所以我们需要用到循环:

    my_age = 23
    count = 10
    for i in range (10):
        count = count - 1
        user_input = int(input("input your guess num:")) #这里int函数,定义输入的是整数
        if user_input == my_age:
            print("恭喜你,答对了!")
            break
        elif user_input > my_age:
            print("你猜大了!你还有",count,"次机会")
        else:
            print("你猜小了!你还有",count,"次机会")

    这样一来,我们的用户就获得了10次机会,但是我们还不满意,用户希望猜3次之后有个是否要继续的交互,所以我们需要升级我们的代码:

    my_age = 23
    count = 10
    num = 0
    for i in range (10):
        count = count - 1
        if num < 3:
            user_input = int(input("input your guess num:")) #这里int函数,定义输入的是整数
            if user_input == my_age:
                print("恭喜你,答对了!")
                break
            elif user_input > my_age:
                print("你猜大了!你还有",count,"次机会")
            else:
                print("你猜小了!你还有",count,"次机会")
        else:
            continue_confrim = input("你已经尝试3次了,还猜不对实在是太笨了!你还有想继续吗?y:继续 n:退出:")
            if continue_confrim == 'y':
                num = 0
                continue
            else:
                print("再见笨猪!")
                break
        num = num + 1

    那循环就到这里结束啦!

  • 相关阅读:
    Use Prerender to improve AngularJS SEO
    Prerender.io
    Prerender Application Level Middleware
    Prerender Application Level Middleware
    正则获取html标签字符串中图片地址
    xml转json
    videojs实现双击视频全屏播放、播放器全屏时视频未全屏
    自己编写jquery插件
    点击回退时需要点击2次才可返回js
    if中有逗号的写法
  • 原文地址:https://www.cnblogs.com/Bourbon-tian/p/5890180.html
Copyright © 2011-2022 走看看