我很难让这个简单的if语句起作用。我正在尝试使用“if”语句将字符串打印一定次数
x = 0 if x < 9: print "this works" x = x + 1 else: print "this doesn't work"
上面代码的结果是,它只打印一次“ThisWorks”。我希望将1添加到x,直到x达到9,并且该语句不再为真。有人能帮我吗?
hmmo2u0o1#
我想你要的是一份简短的声明。试试这个:
x = 0 while x < 9: print "this works" x = x + 1 print "this doesn't work"
if语句不循环。你可以从英语的Angular 来思考:“如果某件事是真的,那么做其他的事,做不同的事”——在这句话中没有暗示多次做某事。“当某些事情是真的时,做一些事情。”-这里的“while”表示某些事情可能会发生多次。其他方法:如果您所要做的就是通过值为x0-9的对象进行循环,那么for循环将很好地工作:
for x in range(9): print "this works" print "this doesn't work"
在这种情况下 range(9) 可以被替换为 range(start_value, stop_value+1) 更多的泛化。这是一种更典型的方法,我建议这样做,只是因为它听起来最像你所想的,如果你愿意的话。另一种方式:
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
基于亚当的解决方案。通常不用于可以轻松计算出最终条件的情况,但在最终条件事先不是非常明显的情况下可能有用。目前,我想不出这个用例适用的具体例子。这是对工作的替代 dummy_var = True , while dummy_var: 然后设置 dummy_var = False 当你想倒掉的时候。
dummy_var = True
while dummy_var:
dummy_var = False
5jvtdoz22#
像“if”这样的控制语句可以用于决策,并且该条件下的语句只运行一次。相反,您可以使用while循环来实现此目的。
irlmq6kh3#
如果希望重复某些内容,还需要包含一个循环。最简单的两种方法是使用for或while循环。
for i in range(0,9): print "this works"
或
x = 0 while(x < 9): print "this works" x = x + 1
3条答案
按热度按时间hmmo2u0o1#
我想你要的是一份简短的声明。试试这个:
if语句不循环。你可以从英语的Angular 来思考:
“如果某件事是真的,那么做其他的事,做不同的事”——在这句话中没有暗示多次做某事。
“当某些事情是真的时,做一些事情。”-这里的“while”表示某些事情可能会发生多次。
其他方法:
如果您所要做的就是通过值为x0-9的对象进行循环,那么for循环将很好地工作:
在这种情况下
range(9)
可以被替换为range(start_value, stop_value+1)
更多的泛化。这是一种更典型的方法,我建议这样做,只是因为它听起来最像你所想的,如果你愿意的话。另一种方式:
基于亚当的解决方案。通常不用于可以轻松计算出最终条件的情况,但在最终条件事先不是非常明显的情况下可能有用。目前,我想不出这个用例适用的具体例子。这是对工作的替代
dummy_var = True
,while dummy_var:
然后设置dummy_var = False
当你想倒掉的时候。5jvtdoz22#
像“if”这样的控制语句可以用于决策,并且该条件下的语句只运行一次。相反,您可以使用while循环来实现此目的。
irlmq6kh3#
如果希望重复某些内容,还需要包含一个循环。最简单的两种方法是使用for或while循环。
或