2012-03-16 273 views
1

我一直在努力学习python最近。循环while语句

有一件事我见过的教程做的是使一个while语句与在每条语句结束后进入了一个变量创建循环

例如:

loop_end = 0 
while loop_end <= 5: 
    <do program> 
    loop_end = loop_end + 1 

这感觉奇怪和有点丑陋。 有没有其他方法可以达到这个效果?

+0

'loop_end + = 1'如果你仍然需要while循环。 – lllluuukke 2012-03-16 22:32:19

+0

请提供这些教程的链接吗?有些作者可能需要联系... – 2012-03-16 22:40:00

回答

3
for loop_end in xrange(6): 
    # do program 
1

您希望range功能。这里是打印0-2的循环:

for x in range(0,3): 
    print '%d' % (x) 

检查here

范围是排他性的,所以右侧的值永远不会被满足。

你也可以表示范围是如何迭代的。例如,指定一个增量的2每次循环:

for x in range (0, 8, 2) 
    print x 

将让你

0 
2 
4 
6 

为输出。

0
for loop_end in range(6): 
    <do program> 

说明:

Python就iterators概念。不同的对象可以决定如何迭代。如果你遍历一个字符串,它将迭代每个字符。如果你遍历一个列表(即数组),它将迭代列表中的每个项目。

内置的range函数生成一个列表。范围(6)生成列表[0,1,2,3,4,5](所以相当于while loop_end <= 5)。

(在Python 3中,range()返回一个生成器而不是一个列表,但是你不需要知道那个;))。