Python循环语句

更新时间:2020-03-26 09:41:59 点击次数:74次
Python有两种循环模式,我们先讲遍历循环。
先看一个案例:

for i in range(1,10):
print(i,end = '')

打印出来些什么?是不是123456789?大家仔细看这个代码,是不是有我们昨天说的:缩进。我们现在来看看遍历循环的格式:

for 循环变量 in 遍历结构:
语句块

大家肯定搞不明白:什么叫遍历???
遍历结构可以是字符串、文件、range()函数或组合数据类型等。
遍历循环可以理解为从遍历结构中逐一提取元素,放在循环变量中,对于每个所提取的元素执行一次语句块。for语句的循环执行次数是根据遍历结构中元素个数确定的

这下懂了吧。如果还不懂,我有个图,不过大家应该看不懂…
所以就不展示了吧…
没关系,其实大家多练练就好了。
下面给大家讲讲range函数:

range(a,b,c)

a是开始,默认为0。b是结束的(不算),c是步长,默认为1。比如:

for i in range(1,5): #1,2,3,4
print(i)
print(i)

我们来解析一下:
第一次循环,i被赋值为1,打印为1
第二次循环,i被赋值为2,打印为2
第三次循环,i被赋值为3,打印为3
第四次循环,i被赋值为4,打印为4
循环结束,最后打印i,i的值最后被赋值为4,因此打印4,所以所有的运行结果为:


为什么换行?很简单,我们没加end = ‘’,加了就行了。

我们再来个难一点的:

for i in range(1,5):
if i == 2:
print('i是2,你中奖了!')
else:
print('i是{},你没中奖。'.format(i))

这个我们再来分析分析:
第一次循环,i被赋值为1,i不为2,因此打印出:i是1,你没中奖。
第二次循环,i被赋值为2,i为2,因此打印出:i是2,你中间奖了!
第三次循环,i被赋值为3,i不为2,因此打印出:i是3,你没中奖。
第四次循环,i被赋值为4,i不为2,因此打印出:i是4,你没中奖。

不难吧?现在我们来个好玩的:

for i in range(1,10):
    for j in range(1,i+1):
        print('{}*{}={} '.format(i,j,i*j),end = '')
    print('')

打印了什么,乘法表对吧?自行分析一下吧!

现在我们来讲讲无限循环。

i = 0
while True:
print(i)
i += 1

你的电脑卡了吗?呵呵,没错,这就是无限循环,好了,现在停下程序,来看干货。

while 条件:
语句块

当程序执行到while语句时,判断条件如果为True,执行语句块,语句结束后返回再次判断while语句的条件;当条件为False时,循环终止。继续后续语句。

讲到无限循环,那我们怎么让程序跳出无限循环且不手动停止程序呢?这里就有两个关键字:

break
continue

我们先用for语句试一试break

a = 'python'
for i in a:
    if i == 'h':
        print('\n你输入的内容里有h,h是违规字。')
        break
    print(i,end = '')

我们再用试一试continue

a = 'python'
for i in a:
    if i == 'h':
        print('\n你输入的内容里有h,h是违规字。')
        continue
    print(i,end = '')

这两个有什么区别呢?虽然结果不同,但是说明了什么呢?

break用来跳出当前循环,脱离该循环后程序从循环后代码继续执行。
如果有2层或多层循环,break退出最内层循环。

continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但不跳出当前循环。

一头雾水,对吧,那我们还是来分析分析程序:

第一个用break的:
第一次循环,i为’p’,不为’h’,打印’p’
第二次循环,i为’y’,不为’h’,打印’y’
第三次循环,i为’t’,不为’h’,打印’t’
第四次循环,i为’h’,打印’你输入的内容里有h,h是违规字。'跳出内循环。

第二个用continue的:
第一次循环,i为’p’,不为’h’,打印’p’
第二次循环,i为’y’,不为’h’,打印’y’
第三次循环,i为’t’,不为’h’,打印’t’
第四次循环,i为’h’,打印’你输入的内容里有h,h是违规字。’,跳出本次循环
第五次循环,i为’o’,不为’h’,打印’o’
第六次循环,i为’n’,不为’h’,打印’n’

这下懂了吧。

然后现在讲两种扩展模式:

for 循环变量 in 遍历结构:
语句块1
else:
语句块2

当for循环正常执行之后,程序会继续执行else语句中内容。else语句只在循环正常执行之后才执行并结束,因此,可以在语句块2中放置判断循环执行情况的语句。

while 条件:
语句块1
else:
语句块2

当while循环正常执行之后,程序会续执行else语句中内容。else语句只在循环正常执行后才执行,因此,可以在语句块2中放置判断循环执行情况的语句。

好了以上就是今天的知识,这是基础中的基础。

本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责,本站只提供参考并不构成任何投资及应用建议。本站是一个个人学习交流的平台,网站上部分文章为转载,并不用于任何商业目的,我们已经尽可能的对作者和来源进行了通告,但是能力有限或疏忽,造成漏登,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

回到顶部
嘿,我来帮您!