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就是提前结束本次循环。

结尾

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

相关推荐
蓝天星空39 分钟前
Python调用open ai接口
人工智能·python
jasmine s1 小时前
Pandas
开发语言·python
郭wes代码1 小时前
Cmd命令大全(万字详细版)
python·算法·小程序
leaf_leaves_leaf1 小时前
win11用一条命令给anaconda环境安装GPU版本pytorch,并检查是否为GPU版本
人工智能·pytorch·python
夜雨飘零11 小时前
基于Pytorch实现的说话人日志(说话人分离)
人工智能·pytorch·python·声纹识别·说话人分离·说话人日志
404NooFound1 小时前
Python轻量级NoSQL数据库TinyDB
开发语言·python·nosql
天天要nx1 小时前
D102【python 接口自动化学习】- pytest进阶之fixture用法
python·pytest
minstbe2 小时前
AI开发:使用支持向量机(SVM)进行文本情感分析训练 - Python
人工智能·python·支持向量机
落魄实习生2 小时前
AI应用-本地模型实现AI生成PPT(简易版)
python·ai·vue·ppt
苏言の狗2 小时前
Pytorch中关于Tensor的操作
人工智能·pytorch·python·深度学习·机器学习