for...in和while循环

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了for...in和while循环相关的知识,希望对你有一定的参考价值。

为了让计算机能计算成千上万次的重复运算,我们就需要循环语句。

Python的循环有两种:for..in循环和while循环


一、for...in循环

   依次把list或tuple中的每个元素迭代出来,看例子:

#!/usr/bin/env python
#-*- coding: utf-8 -*-
names = [‘Michael‘, ‘Bob‘, ‘Tracy‘]
for name in names:
    print(name)

执行这段代码,会依次打印names的每一个元素:

Michael
Bob
Tracy

所以for x in ...循环就是把每个元素代入变量x,然后执行缩进块的语句。

再比如我们想计算1-10的整数之和,可以用一个sum变量做累加:

#!/usr/bin/env python
#-*- coding: utf-8 -*-
sum = 0
for x in [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]:
    sum = sum + x
print(sum)

如果要计算1-100的整数之和,从1写到100有点困难,幸好Python提供一个range()函数,可以生成一个整数序列,再通过list()函数可以转换为list。比如range(5)生成的序列是从0开始小于5的整数:

>>> list(range(5))
[0, 1, 2, 3, 4]

range(101)就可以生成0-100的整数序列,计算如下:

#!/usr/bin/env python
#-*- coding: utf-8 -*-
sum = 0
for x in range(101):
    sum = sum + x
print(sum)

请自行运行上述代码,看看结果是不是当年高斯同学心算出的5050。



二、while循环:

   只要条件满足,就不断循环,条件不满足时退出循环。比如我们要计算100以内所有奇数之和,可以用while循环实现:

#!/usr/bin/env python
#-*- coding: utf-8 -*-
sum = 0
n = 99
while n > 0:
    sum = sum + n
    n = n - 2print(sum)

在循环内部变量n不断自减,直到变为-1时,不再满足while条件,循环退出。




死循环

#!/usr/bin/env python
#-*- coding: utf-8 -*-

import time           #加载time模块

while True:
    print (‘hello‘)
    time.sleep(1)       #让它每秒执行一次


练习:

      无限打印1.2.3.4...........

#!/usr/bin/env python
#-*- coding: utf-8 -*-
import time

n = 1

while True :
    print (n)
    n = n + 1
    time.sleep(1)
print (‘end‘)

 

    输出10以内的所有正整数

#!/usr/bin/env python
#-*- coding: utf-8 -*-

import time

n = 1

while n <= 10 :
    print (n)
    n = n + 1
    time.sleep(1)
print (‘end‘)


break

     用于跳出当前循环,并且break下面的代码将不在执行

#!/usr/bin/env python
#-*- coding: utf-8 -*-
import time

n = 1

while True :
    print (n)
    if n == 10:
        break
    n = n + 1
    time.sleep(1)




continue

       用于跳出本次循环,继续下一次循环

#!/usr/bin/env python
#-*- coding: utf-8 -*-

i = 0  
while i < 10 :  
      
    i = i + 1   
    if i == 4:  
        pass  
    if i == 6:  
        continue  
    if i == 8:  
        break  
    print ( i )  
else:  
    print (‘It is over.‘)

结果:1 2 3 4 5 7 跳过了6,进入7的循环,到8时跳出了循环。

本文出自 “Mr.Xiong`s 运维日志” 博客,请务必保留此出处http://mrxiong2017.blog.51cto.com/12559394/1909875

以上是关于for...in和while循环的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript -- 循环语句

JavaScript for循环

for循环语句

如何优化js代码

Python之for in 与while 在循环内赋值的区别

shell脚本编程高级篇