我很难使这个简单的 if 语句起作用。我正在尝试使用“if”语句获取要打印一定次数的字符串
x = 0
if x < 9:
print "this works"
x = x + 1
else:
print "this doesn't work"
上面代码的结果是它只打印一次“this works”。我希望将 1 添加到 x 直到 x 达到 9 并且该语句不再为真。
有人可以帮我吗?
最佳答案
我认为您要求的是 while 语句。试试这个:
x = 0
while x < 9:
print "this works"
x = x + 1
print "this doesn't work"
if 语句不循环。你可以从英文的意义上来想:
- “如果某事为真,则做其他事情,做不同的事情”- 在此声明中没有暗示多次做某事。
- “当某件事是真的时,就去做吧。” - 这里的“while”表示某事可能会发生多次。
其他方法:
如果您要做的只是循环遍历值 x 0-9 的内容,那么 for 循环会很有效:
for x in range(9):
print "this works"
print "this doesn't work"
在这种情况下,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
基于 Adam 的解决方案。通常不用于可以轻松计算出结束条件的事情,但在结束条件事先不是很明显的情况下很有用。目前无法想到此用例适用的任何具体示例。它替代了执行 dummy_var = True
,while dummy_var:
然后在您想要转储时设置 dummy_var = False
。
关于python - Python 中的简单 "if"语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35586329/