2016-01-22 65 views
-1

这些指令是:编写一个简单的python程序,它由while循环控制。哨兵变量必须评估为非真或假。必须指出循环是继续还是退出。我需要python作业帮助

我很难理解那些说“哨兵变量必须评估为非真假”的部分。我认为所有while循环评估为真或假。

+2

不,只是真实或虚假,请参阅https://docs.python.org/3/library/stdtypes.html#truth-value-testing – jonrsharpe

+0

我对Python一无所知。但是,这就像是Google“Python Sentry Variable”中出现的第一件事情。 https://www.reddit.com/r/learnpython/comments/1gdb7a/newbie_question_trying_to_understand_sentry/ –

回答

1

你在找这样的事吗?下面的代码评估变量“i”是否等于100,如果不是,则重新遍历循环,将1加到计数器。它表明它当前是在循环中还是在循环中断。

i = 0 
while i != 100: 
    i += 1 
    print("Continued.") 
print("Exited.") 
+0

注意:此代码可能不满足参数,因为循环条件评估为“True”或“False”,而没有其他值。这对于实际使用来说也是可怕的Python代码。它基本上是最慢,最少的Pythonic方法来实现一个C风格的for循环(在Python中,你可以为范围(100):'我做',但是更加Python的,你通常会直接迭代一个迭代,而不是循环索引)。 – ShadowRanger

+0

为了使它符合真实性,而不是“真”/“假”,你可以让它倒数; '我= 100','而我:','我 - = 1'。 – ShadowRanger

+0

我认为这里的哨兵(a.k.a. sentinel)变量是'i'。 @ShadowRanger,我认为只有该变量(不是可能依赖于该变量的循环条件)不能是布尔值。 –

0

尝试是这样的:

myList = range(10) 

while myList: 
    print myList.pop() 

print myList 

它的哨兵变量,myList中,是列表,将允许循环继续执行,直到它是空的。请注意,pop将在循环的每次迭代中删除列表中的最后一个元素。