Jus*_*tin 1 python if-statement
我很难让这个简单的 if 语句起作用。我正在尝试使用“if”语句将字符串打印一定次数
x = 0
if x < 9:
print "this works"
x = x + 1
else:
print "this doesn't work"
Run Code Online (Sandbox Code Playgroud)
上面代码的结果是它只打印了一次“this works”。我希望将 1 添加到 x 直到 x 达到 9 并且该语句不再正确。
有人能帮我一下吗?
我认为你要的是一个 while 语句。尝试这个:
x = 0
while x < 9:
print "this works"
x = x + 1
print "this doesn't work"
Run Code Online (Sandbox Code Playgroud)
if 语句不循环。你可以从英语的意义上来理解:
其他方法:
如果您想要做的只是遍历值 x 0-9 的内容,那么 for 循环会很好地工作:
for x in range(9):
print "this works"
print "this doesn't work"
Run Code Online (Sandbox Code Playgroud)
在这种情况下,range(9)可以替换range(start_value, stop_value+1)为更通用。这是更典型的做法,我建议这样做只是因为它听起来最像你想的那样。
其它的办法:
x = 0
while True:
if x < 9:
print "this works"
x = x + 1
else:
print "this doesn't work"
break
Run Code Online (Sandbox Code Playgroud)
基于亚当的解决方案。通常不用于可以轻松计算出结束条件的情况,但在结束条件不是很明显的情况下很有用。目前想不出任何适合此用例的具体示例。这是对 do 的替代dummy_var = True,while dummy_var:然后设置dummy_var = False何时要转储。