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

打印 上一主题 下一主题

主题 792|帖子 792|积分 2376


   本文由Jzwalliser原创,发布在CSDN平台上,遵照CC 4.0 BY-SA协议。
因此,若需转载/引用本文,请注明作者并附原文链接,且克制删除/修改本段笔墨。
违者必究,谢谢配合。
个人主页:blog.csdn.net/jzwalliser
  循环语句可以用于重复运行一段代码。在python中,循环有两种:for循环和while循环。
for 循环

一个参数

利用for循环可以很方便地将某一段代码重复执行肯定的次数。如:
  1. for i in range(5): #循环5次
  2.     print(i,end=" ") #打印当前循环次数
复制代码
运行结果:
  1. 0 1 2 3 4
复制代码
在以上例子中,第2行的print(i,sep=" ")将会被运行5次(由于range(5))。而变量i在这里相称于是个计数器,第一次循环时它等于0,到了第二次等于1,每循环一次,i都会加1,直到重复五次后i=4。
不外,循环的“计数”变量并不愿定非要是i,也可以是别的,像如许:
  1. for j in range(5): #循环5次
  2.     print(j,sep=" ") #打印当前循环次数
复制代码
此时,“计数”变量就是j。
两个参数

当然,也可以让计数器(i)不从0开始,如:
  1. for i in range(100,110):
  2.     print(i,end=" ")
复制代码
运行结果:
  1. 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个参数就分别为:起始、终止、步长。
  1. for i in range(1,20,3):
  2.     print(i,end=" ")
复制代码
运行结果:
  1. 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会一直重复执行下去,直到条件不满意为止。
  1. s = ""
  2. while len(s) < 6:
  3.     s += " "
  4.     print("length",len(s))
复制代码
运行结果:
  1. length 1
  2. length 2
  3. length 3
  4. length 4
  5. length 5
  6. length 6
复制代码
以上这段代码表示循环增长字符串s的长度,而每次增长长度后就输出当前长度,并判断是否满意字符串的长度小于6,否则停止循环。
如果需要死循环(在步伐正常运行的情况下永远不绝止的循环),则可以利用while语句这么写:
  1. while True:
  2.     print("永久循环")
复制代码
可以复制到IDLE中,体验一下“死循环”。
break和continue语句

break语句

break语句可用于跳出循环。如:
  1. sum = 0
  2. while True:
  3.     sum += 1
  4.     print(sum,end=" ")
  5.     if sum >= 6:
  6.         print("broken")
  7.         break
  8.         print("在break后面的就不被运行了,所以在结果中你看不到这句话")
复制代码
运行结果:
  1. 1 2 3 4 5 6 broken
复制代码
像如许,虽然是死循环的情势,但是执行6循环后就会进入if而碰到break此循环竣事。
而continue语句则没有这么绝,在循环中一旦碰到continue,这下面的语句将不会被执行,而是重新从循环的第一条语句开始。
  1. for i in range(5):
  2.     print(i,"continue之前")
  3.     if i == 3:
  4.         continue
  5.     print(i,"continue之后")
复制代码
运行结果:
  1. 0 continue之前
  2. 0 continue之后
  3. 1 continue之前
  4. 1 continue之后
  5. 2 continue之前
  6. 2 continue之后
  7. 3 continue之前
  8. 4 continue之前
  9. 4 continue之后
复制代码
当i=3时进入第3行的if判断,碰到continue语句导致本次循环中第5行的print(i,"continue之后")被跳过,结果就没有“3 continue之后”这句。
自测


  • 阅读以下步伐:
  1. for i in range(8):
  2.     if i % 2== 0:
  3.         print(i,end=" ")
  4.     if i == 4:
  5.         break
复制代码
下列说法精确的是( )
A. 该步伐的输出为0 2
B. 该步伐的输出为0 2 6 8
C. 该步伐的输出为0 2 4
D.以上皆不精确
【答案】C

  • 在以下步伐中,若想输出12356,则序号处应该分别填入什么?
  1. for i in range(1,7):
  2.     if ①________:
  3.         ②________
复制代码
A. ① i == 4 ② break
B. ① i == 4 ② continue
C. ① i != 4 ② print(i,end="")
D. ① i != 4 ② print(i,sep="")
【答案】C
总结

for 循环
用for i in range(n,m,l)可以设置起始、竣事和步长。其中,起始和步长可省略,若省略起始则默认从0开始;若省略步长则默认为1。
while 循环
用法为while 条件,若条件成立则会执行循环,每执行完循环后都会检查条件是否仍旧成立。若不成立则竣事循环。若需要死循环,则可以写成while True。
break和continue语句
简而言之,break就是竣事循环;continue就是提前竣事本次循环。
结尾

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

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

涛声依旧在

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表