Python学习【第五篇】循环语句「建议收藏」

Python学习【第五篇】循环语句「建议收藏」Python循环语句接下来将介绍Python的循环语句,程序在一般情况下是按顺序执行的。编程语言提供了各种控制结构,允许更复杂的执行路径。循环语句允许我们执行一个语句或语句组多次。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

那循环就到这里结束啦!

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/156065.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • although the false banknotes_to unleash this cpu full power

    although the false banknotes_to unleash this cpu full powerarch/x86/kernel/smpboot.cworker_thread()->process_one_work()->do_fork_idle()->fork_idle()->copy_process()firstly:thereisoneidletaskforeveryCPU.secondely:theidleproces…

  • arduino连接lcd1602使用方法_arduino液晶显示屏

    arduino连接lcd1602使用方法_arduino液晶显示屏一硬件1602液晶显示,显示容量为16×2个字符,如下图一共有16个引脚,对应功能如下表:1602液晶显示各引脚功能 引脚符号 功能描述 VSS 电源地 VDD 电源正极,本实验接5V VO 液晶显示偏压,本实验接旋转电位器中间端口,调整对比度 RS 指令/数据选择引脚,低电平时,选择指令寄存器,进行指令操作;高电平时,选择数据寄存器,进行数据操作(本实验接数字引脚) RW 读/写选择引脚…

  • 解释mss的定义_sas读取数据按行读取

    解释mss的定义_sas读取数据按行读取MSEloss1.定义 均方差loss 计算公式如下loss=1/M∑0m(y−x)2loss=1/M\sum_{0}^m{(y-x)^2}loss=1/M0∑m​(y−x)2importtorchimporttorch.nnasnnfromtorch.autogradimportVariableinputs=Variable(torch.ten…

  • PageHelper中的RowBounds「建议收藏」

    PageHelper中的RowBounds「建议收藏」RowBounds是处理ResultSet结果集进行分页,也就是说是逻辑分页,并不是物理分页。PageHelper是物理分页。

  • 深信服(SCSA)认证学习—基础知识点二

    深信服(SCSA)认证学习—基础知识点二综述经过一周的实践教学学习,总体来讲深信服的scsa认证还是不难(理论基本上上都是基础知识),对于实验来讲呢,技术做的越多,熟练度也就越好,也就能更快的做出题目来。这次我主要还是讲讲深信服的理论知识。五元组:源IP地址,源端口,目的IP地址,目的端口和传输层协议mail.qq.comfqdnfulldomainname//顶级域名qq.comdomainname邮件传输协议:SMTP(25端口)、POP3(110端口)、IMAP4http:通一资源标志符(UniformRe

  • 2021年7月整理–简单方法 暴力激活成功教程WIFI密码

    2021年7月整理–简单方法 暴力激活成功教程WIFI密码2021年7月整理–简单方法暴力激活成功教程WIFI密码很多人都面临过短期租房、短期出差、住院而没有WIFI可用等境遇,有的是宽带太多办不起、有的是临时一阵子不值得折腾、有的是运营商不给扯线等等原因。然后就用手机下载了WIFI智能钥匙等APP,然后发现卵用么有,根本没有人共享自家WIFI密码给你用。以下是按步骤整理的软件和详细教程笔记本电脑+软件暴力激活成功教程出的密码我亲身用这个软件解开N多个密码此软件是家用路由器安全审计工具,切勿用作非法用途!!!….

    2022年10月13日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号