Python从零开始系列连载(15)——Python程序的基本控制流程(中二)

浏览: 6239

前言

前文传送门:

Python从零开始系列连载(1)——安装环境

Python从零开始系列连载(2)——jupyter的常用操作(上)

Python从零开始系列连载(3)——jupyter的常用操作(中)

Python从零开始系列连载(4)——jupyter的常用操作(下)

Python从零开始系列连载(5)——Python的基本数据类型(上)

Python从零开始系列连载(6)——Python的基本数据类型(中)

Python从零开始系列连载(7)——Python的基本数据类型(中二)

Python从零开始系列连载(8)——Python的基本数据类型(下)

Python从零开始系列连载(9)——Python的基本运算和表达式(上)

Python从零开始系列连载(10)——Python的基本运算和表达式(中)

Python从零开始系列连载(11)——Python的基本运算和表达式(中二)

Python从零开始系列连载(12)——Python的基本运算和表达式(下)

Python从零开始系列连载(13)——Python程序的基本控制流程(上)

Python从零开始系列连载(14)——Python程序的基本控制流程(中)


循环结构

循环结构,很好理解,就是一直做某件事情,直到满足某种条件


Clipboard Image.png


就像玩游戏,做任务,觉醒20个式神,当完成之后,循环就结束啦


while循环


我们举个栗子看看:


Clipboard Image.png


这是1~10求和,使用while循环

首先,count作为计数器,每次加1,初值设为1

sum作为累加器,初值设为0,每次加上count

然后循环的终止条件是count<11 ,也就是count等于10 是最后一次循环

每次循环打印sum和count的信息


这里使用了之前讲到的 +=  和 print多个值的知识点


while死循环

在上一个循环中,当循环条件count<11不再满足时(此时count = 11)

就不会继续循环了


但是有种循环是会不断进行的,不会停止!


我们想想,当循环条件一直满足,是不是就死循环了


死循环中的‘死’指的不是循环死掉或者结束,指的是陷入了不断地循环之中,想被捆绑固定这种


捆绑,你懂的【坏笑


Clipboard Image.png


举个栗子:


Clipboard Image.png


大家注意,这里使用True作为真的条件

所以一直打印内容


大家注意到那个红圈的星号了么


指的是程序还在执行(有时是程序卡死)


怎么让他停止呢?


还记得刚开学时候讲的下图么:

Clipboard Image.png


按下去后等一会就好了,实在不行就restart kernel  或者重启jupyter


当然,死循环的条件改为任何真的值都行,例如'a'   或者是 1 都可以


Clipboard Image.png


for循环

除了while循环,还可以用for循环


for循环的格式:


for 循环变量 in 对象:

循环语句


这里的对象可以是我们学过的字符串,也可以是我们将要学的列表,元组,字典等


我们举个栗子:


Clipboard Image.png


这里的变量是 i ,我们习惯用 i ,当然,你换成 iphonex 也是可以的


Clipboard Image.png


这里相当于去循环'Python'这个字符串里的每位字符

然后依次打印


for循环经常和range()函数配合使用


range()函数的用法:


range(起始值,终止值,步长)


这里的起始值就是起点的意思

注意:终止值在这里是取不到的

步长就是跨一步通过的长度


举个栗子:

我站在0点位置,一步可以向前跨2m,则下一次我就在2m处了


小明:老湿,你怎么能一次跨两米?!震惊!


小明啊,你是不是羡慕我大长腿


Clipboard Image.png


好了,那下次的循环位置就是2m处了,然后是4m,以此类推。。。


好了,我们来看看具体程序:


Clipboard Image.png


注意:这里的循环结束位置10并没有打印出来

也就是刚才说的range()函数的结束位置的值是取不到的


今天作业:

1.统计打印出1~5000中同时能被5和7整除的整数


下课

人生苦短,我选Python

未完待续,连载中......


下一篇:Python从零开始系列连载(16)——Python程序的基本控制流程(下)

推荐 4
本文由 ID王大伟 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

34 个评论

for i in range(500):
if i%5==0 and i%7==0:
print(i)
for i in range(1,1000,1):
if i%5==0 and i%7==0:
print(i)
for i in range(1,5000,1):
if (i%5==0 and i%7==0):
print(i)
for i in range(35,5000,35):
print (i)
找到最小公倍数
用while怎么写啊。。。不好意思 有点较真。。
i = 1
while i<5001:
if i%5==0 and i%7==0:
print(i)
i = i + 1
for i in range(1,5000):
if i%5 == 0 and i%7 ==0:
print(i)
不错哦
#统计打印出1~5000中同时能被5和7整除的整数
for i in range(1,5001,1):
if (i % 35==0):
print(i)
不错
老师有个坑,range函数并不能取到5000,如果换成能被2和5整除那就有数据差了
#0-5000内可以同时被5和7整除的数
for a in range(5001):
if a%5==0 and a%7==0:
print(a)
不错
for i in range (1,5000,1):
if i%5 == 0 and i%7 ==0:
print (i)
i = 1
while i < 5001 :
if i%5 == 0 and i%7 ==0 :
print (i)
i += 1
不错哦
for i in range(0,5001):
if(i%5 == 0 and i%7 == 0):
print(i)
很棒哦
1,5001
for i in range(1,500,35):
print(i-1)
少打了个0吧 哈哈 还有注意边界点取不到
老师,为什么按照您写的while循环方式做的话,总是出不来结果?前边in[*]是这样显示的?是什么情况?
a = 1
while a < 5001:
if a%5 == 0 and a%7 ==0:
print(a)
a += 1
没输出什么么?
什么都没输出,但是前边的in的方括号里变成了星号(*)!
呃……找到问题了!i变量我放在里if判断里,没有在while循环里,所以应该是陷入死循环了……谢谢~
ok * 表示程序在运行
for i in range(1,5000):
if i % 5 ==0 and i % 7 == 0:
print(i)
for i in range(0,5001,5):
if i%7==0:
print(i)
for i in range(0,5000,5):
if i != 0:
print(i)
for q in range(0,5000,7):
if q != 0:
print(q)
你这个5000取不到哦
count=1
while count<5001:
a=count/5
b=count/7
if type(a)==int and type(b)==int:
print(count)
count+=1
大伟老师,这样怎么运行不出来.......
那个循环里的i=i+1换成i=+1,为什么不可以?
今天又看了这一章,发现在我回复的第二天,就是公司被查,大家都散了的日子。。。。。。
for i in range(0,5000,35):
print(i)
老师,我想问下循环他每一行代码顺序都是固定的吗,不能随便放的吗

要回复文章请先登录注册