python之循环

一、Python之for循环

Python的 for 循环就可以依次把list或tuple的每个元素迭代 出来:

L=['abc','efg','hij']

for name in L:

    print name

name这个变量是在 for 循环中定义的,意思是,依次 取出list中的每一个元素,并把元素赋值给 name,然后执 行for循环体(就是缩进的代码块)。 这样一来,遍历一个list或tuple就非常容易了。

二、Python之 while循环

和 for 循环不同的另一种循环是 while 循环,while 循环不 会迭代 list 或 tuple 的元素,而是根据表达式判断循环是 否结束。 比如要从 0 开始打印不大于 N 的整数:

N=10

x=0

while x<=N:

    print x

    x=x+1

while循环每次先判断 x < N,如果为True,则执行循环体 的代码块,否则,退出循环。

在循环体内,x = x + 1 会让 x 不断增加,最终因为x < N 不 成立而退出循环。

如果没有这一个语句,while循环在判断 x < N 时总是为 True,就会无限循环下去,变成死循环,所以要特别留 意while循环的退出条件。

三、Python之 break退出循环

用 for 循环或者 while 循环时,如果要在循环体内直接退 出循环,可以使用 break 语句。 比如计算1至100的整数和,我们用while来实现:

sum=0

x=1

while True:

    sum = sum+x

    x = x+1

    if x >100:

        break

print sum

乍一看, while True 就是一个死循环,但是在循环体内, 我们还判断了 x > 100 条件成立时,用break语句退出循环, 这样也可以实现循环的结束。

四、Python之 continue继续循环

在循环过程中,可以用break退出当前循环,还可以用 continue跳过后续循环代码,继续下一次循环。

假设我们已经写好了利用for循环计算平均分的代码:

L=[75,35,40,80,90,55,60,83]

sum=0.0

n=0

for x in L:

    sum=sum+x

    n=n+1

print sum/n

现在老师只想统计及格分数的平均分,就要把 x < 60 的 分数剔除掉,这时,利用 continue,可以做到当 x < 60的 时候,不继续执行循环体的后续代码,直接进入下一次 循环:

for x in L:

    if  x<60:

        continue

    sum=sum+x

    n=n+1

print sum/n

五、Python之多重循环

在循环内部,还可以嵌套循环,我们来看一个例子

for x in ['a','b','c']:

    for y in ['1','2','3']:

        print x+y

x 每循环一次,y 就会循环 3 次,这样,我们可以打印出 一个全排列

 

posted @ 2020-11-05 15:57  夫人nn  阅读(437)  评论(0)    收藏  举报