Python 小高考篇(4)循环语句

目录


本文由Jzwalliser原创,发布在CSDN平台上,遵循CC 4.0 BY-SA协议。

因此,若需转载/引用本文,请注明作者并附原文链接,且禁止删除/修改本段文字。

违者必究,谢谢配合。

个人主页:blog.csdn.net/jzwalliser

循环语句可以用于重复运行一段代码。在python中,循环有两种:for循环和while循环。

for 循环

一个参数

使用for循环可以很方便地将某一段代码重复执行一定的次数。如:

py 复制代码
for i in range(5): #循环5次
    print(i,end=" ") #打印当前循环次数

运行结果:

复制代码
0 1 2 3 4

在以上例子中,第2行的print(i,sep=" ")将会被运行5次(因为range(5))。而变量i在这里相当于是个计数器,第一次循环时它等于0,到了第二次等于1,每循环一次,i都会加1,直到重复五次后i=4

不过,循环的"计数"变量并不一定非要是i,也可以是别的,像这样:

py 复制代码
for j in range(5): #循环5次
    print(j,sep=" ") #打印当前循环次数

此时,"计数"变量就是j

两个参数

当然,也可以让计数器(i)不从0开始,如:

py 复制代码
for i in range(100,110):
    print(i,end=" ")

运行结果:

复制代码
100 101 102 103 104 105 106 107 108 109

可见,这次i就是从100开始,到109结束。

归纳一下,即在for i in range(n,m)中,i的范围为 i ∈ [ n , m ) , i ∈ Z i\in [n,m),i\in\mathbb Z i∈[n,m),i∈Z

三个参数

前面都是在谈论range()中有一个参数或两个参数的情况,但在range中也可以填如3个参数。此时,这3个参数就分别为:起始、终止、步长。

py 复制代码
for i in range(1,20,3):
    print(i,end=" ")

运行结果:

复制代码
1 4 7 10 13 16 19

像这样,i从1开始,且每循环一次就加3,直到i的值大于20后结束。

所以,对于for i in range(n,m,l)循环,不再是循环 m − n m-n m−n次,而是 ⌈ m − n l ⌉ \lceil\dfrac{m-n}{l}\rceil ⌈lm−n⌉次。

while 循环

while语句是另一种循环形式。一般情况下for语句是无法实现无限循环的,但while语句却可以。while其实和if挺类似的,但是对于if语句,它只会在条件满足的时候将语句执行一次,而while会一直重复执行下去,直到条件不满足为止。

py 复制代码
s = ""
while len(s) < 6:
    s += " "
    print("length",len(s))

运行结果:

复制代码
length 1
length 2
length 3
length 4
length 5
length 6

以上这段代码表示循环增加字符串s的长度,而每次增加长度后就输出当前长度,并判断是否满足字符串的长度小于6,否则停止循环。

如果需要死循环(在程序正常运行的情况下永远不停止的循环),则可以利用while语句这么写:

py 复制代码
while True:
    print("永久循环")

可以复制到IDLE中,体验一下"死循环"。

break和continue语句

break语句

break语句可用于跳出循环。如:

py 复制代码
sum = 0
while True:
    sum += 1
    print(sum,end=" ")
    if sum >= 6:
        print("broken")
        break
        print("在break后面的就不被运行了,所以在结果中你看不到这句话")

运行结果:

复制代码
1 2 3 4 5 6 broken

像这样,虽然是死循环的形式,但是执行6循环后就会进入if而碰到break此循环结束。

continue语句则没有这么绝,在循环中一旦碰到continue,这下面的语句将不会被执行,而是重新从循环的第一条语句开始。

py 复制代码
for i in range(5):
    print(i,"continue之前")
    if i == 3:
        continue
    print(i,"continue之后")

运行结果:

复制代码
0 continue之前
0 continue之后
1 continue之前
1 continue之后
2 continue之前
2 continue之后
3 continue之前
4 continue之前
4 continue之后

i=3时进入第3行的if判断,碰到continue语句导致本次循环中第5行的print(i,"continue之后")被跳过,结果就没有"3 continue之后"这句。

自测

  1. 阅读以下程序:
py 复制代码
for i in range(8):
    if i % 2== 0:
        print(i,end=" ")
    if i == 4:
        break

下列说法正确的是( )

A. 该程序的输出为0 2

B. 该程序的输出为0 2 6 8

C. 该程序的输出为0 2 4

D.以上皆不正确

【答案】C

  1. 在以下程序中,若想输出12356,则序号处应该分别填入什么?
py 复制代码
for i in range(1,7):
    if ①________:
        ②________

A. ① i == 4break

B. ① i == 4continue

C. ① i != 4print(i,end="")

D. ① i != 4print(i,sep="")

【答案】C

总结

for 循环

for i in range(n,m,l)可以设置起始、结束和步长。其中,起始和步长可省略,若省略起始则默认从0开始;若省略步长则默认为1。
while 循环

用法为while 条件,若条件成立则会执行循环,每执行完循环后都会检查条件是否仍然成立。若不成立则结束循环。若需要死循环,则可以写成while True
break和continue语句

简而言之,break就是结束循环;continue就是提前结束本次循环。

结尾

好啦,就到这里了,记得点赞收藏关注哦₍˄·͈༝·͈˄*₎◞ ̑̑

相关推荐
青 春 记 忆2 小时前
Dify Docker Compose 通用无损升级指南:从备份、双版本预演到切换与回滚
运维·人工智能·python·docker·容器
GlueNa2SiO32 小时前
03-Flask模板引擎Jinja2详解
笔记·python·flask
临沂GEO5 小时前
GEO搜索优化科普|正规地理位置流量运营入门指南
大数据·人工智能·python·流量运营
大模型码小白5 小时前
Spring AI Tool 实现自然语言操作 MySQL 数据库详解
服务器·开发语言·数据库·人工智能·python·mysql·spring
荷蒲6 小时前
【小白量化Qbuddy】利用AI学习中文Python
人工智能·python·学习
数据狐(Datafox)8 小时前
京东商品列表API技术解析与落地应用(含标准 JSON 示例)
java·大数据·前端·人工智能·python·数据分析·json
量化吞吐机8 小时前
2026年下半年手工交易规则走向量化表达,产品该先接住哪一步
人工智能·python
Metaphor6928 小时前
使用 Python 读取和删除 Excel 文件属性
python·excel
迷迭香yy9 小时前
Python构建转融券多空识别系统从接口到因子的全流程 IG50免费开源股票数据API接口
开发语言·python·开源
月光船幽幽10 小时前
真实即粗糙,光滑是伪造
人工智能·python