昨天讲了if,基本语法还有while与for还没有讲,今天就一起都说了好了。
while 和 for都是基本的循环语句,用法也都是很简单的
while语句
只要while的判别式是真,就会一直循环,这个判别式可以是True、1、0、运算表达式等等,他的循环过程如图:
Created with Raphaël 2.2.0 while 条件真? 程序内容 while 结束 yes no
(…这个while结束怎么放到下面TAT
第一次用这个流程图,长见识了,可能画得不太好蛤)
举一个非常简单的例子:
i=0
while i<10:
i+=1
print(i)
除了这种,while还可以像结合列表做删除查找等等等等,这一点以后会在用到的时候再说起,(最后的最后是要做合集的)
1.break
break用于立刻停止循环
i=0
while i<10:
i+=1
print(i)
if(i>5):
break
输出如图:
2.continue
continue用于结束本次循环
i=0
while i<10:
i+=1
if i%2:
continue
print(i)
输出如图:
这里i%2要提一下:当i是奇数的时候, i%2 == 1,所以if判定就是1,就会执行if语句里的内容
以上就是while语句的最基本的用法,以后再讲其他内容涉及到while的时候会再拿出来说。
for语句
先举一个for循环的例子:
for i in 'abcd':
print(i)
输出如图:
也即:for循环会依次获取集合中的元素,每次循环接收一个,放在"i"里,这里尤其要提到的一句就是,
for循环里in的返回值,和之前的成员运算符in是不一样的。
二者不是同一种符号,单独的in是固定的语法,而for语句用到的in,是一个运算符号。单独的in语句,返回值是True or False,for中的in返回的则是集合里的一个个元素。
for循环的循环过程如图(好像跟while差不多,如果我这里的流程图不对请私信我,我将第一时间改正,谢谢!)
Created with Raphaël 2.2.0 for 有下个元素? 程序内容 for 结束 yes no
和while语句一样,for循环也可以跟break与continue一起用
1.break
跟while是一样的,break用于立刻停止循环
over="程序检测到字符一的时候结束:0123"
for i in over:
if i=='1':
print(i)
break
输出如下:
2.continue
和while也一样,continue用于结束本次循环
skip="0123"#程序检测到字符1的时候跳过
for i in skip:
if i=='1':
continue
print(i)
输出如图:
以上就是for循环最基本的内容,其实还有很多种用法但是因为前面没有提到过相关的知识点,原计划是想把列表元组字典之类的放在后面讲的,结果就导致在这里很多东西没法讲啊哈哈,看来计划要改一下了:(
所以!在介绍完while 和 for的最基本用法以后,现在要讲到一个
range()函数
range()函数会生成一个可以迭代1的对象,它有三种写法
- range(stop)
- range(start,stop)
- range(start,stop,step)
start是初始数字
stop是结束数字,如果只有stop一个参数的话,默认start为0
strp是相邻数字的差(步长)
这三个参数都必须是整型
如图:
所以,之前用while做的输出0-9内偶数的程序,也可以用for语句来写
for i in range(1,11):
if i%2:
continue
print(i)
…
今天就到这了,今天主要讲的就是while和for的最基本用法
- while语句
- for语句
- break和continue在以上循环中的用法
- range()
每周二都是满课:(只能抽空在课余时间把它写完。这几天晚上睡觉前在思考这个系列的时候发现,每次都是讲完balabal以后就完事了,为了象征性地巩固一下,似乎还需要象征性地留一个超级简单的小任务哈,如题:
用循环语句统计如下字符串的汉字、字母、数字、符号的数量并分别输出:
text=‘北京时间4月21日凌晨2时30分,WTI 美油5月份合约收跌至-37美元,跌幅305.97%,创造历史!’
- 迭代是重复反馈过程的活动,其目的通常是为了逼近所需目标或结果。每一次对过程的重复称为一次"迭代",而每一次迭代得到的结果会作为下一次迭代的初始值。 ↩︎