我是Python的新手。我可以理解for循环的作用,但不能真正理解while循环的作用。我知道它确实重复了一些事情,条件是真的,很容易说,但就我的想法而言,它真的很难使用它。
说,这里有一个例子:
while 1:
rate(100) #what does this rate(100) do?
try:
'something'
except:
'something else'
我无法理解。救命啊!
答案 0 :(得分:3)
您提供的示例代码与此相同:
while True:
rate(100) #what does this rate(100) do?
try:
'something'
except:
'something else'
在Python中,可以测试许多表达式的真实性(在条件和逻辑运算中使用时评估为True
或False
)。例如,您已评估为True
的非空序列或非零数字。所以这个循环将永远运行或直到某些代码明确地突破它。这是因为循环条件被硬编码为True
,因此永远不会评估为False
以退出循环。
Python Tutorial中详细解释了python中while
循环的基本行为。除非你有更具体的问题,我建议你从那里开始。其他Python flow control构造也在那里描述。
答案 1 :(得分:2)
while 1
是while
循环的一个特例:它是一个所谓的“无限循环”。
当然没有什么是无限的。代码所说的是:运行此循环的内容,直到内部的某些内容导致它退出。循环中没有明确的测试,因此退出条件必须在内部。
要么是这样,要么循环意味着在程序的整个持续时间内运行,程序将一直运行直到被操作系统杀死 - 或者你翻转PC上的大红色开关。
答案 2 :(得分:2)
您实际上已经定义了一个无限循环。 while 1:
表示无限次运行代码块。您只能使用break
语句退出。
rate(100)
调用rate方法,必须在某处定义。然后执行try-catch块。首先运行'某事'代码。如果没有错误发生,则执行返回到循环的顶部。如果出现错误,则运行“其他内容”。
答案 3 :(得分:0)
嗯,while 1
是一个永远运行的无限循环。我猜这里有点但是rate(N)
看起来像是一种尝试每秒100次(或分钟或其他时间段)做某事的功能,在这种情况下它可能是一个简单的“睡觉”时间段除以率“。
例如,在这种情况下,rate(100)
将是一秒钟(或其他时间单位)的1/100 th 的睡眠。
底线,它看起来像一个循环,每个时间单位不断尝试100次,并在失败时做其他事情(例外)。
如果没有更多的背景,你可能无法获得更多的东西。
答案 4 :(得分:0)
while 1:
构造是一个无限循环,即它永远不会结束。
答案 5 :(得分:0)
while 1
是一个无限循环 - 它将永远运行。
while
循环是一个允许代码在给定的布尔值上运行的语句。
你可以找到更多信息here,我已经包含了下面文章中给出的例子 - 转换为python。
x = 0
while (x < 3):
print "x = %d\n" % x
x++
答案 6 :(得分:0)