2016-01-22 64 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將在循環的每次迭代中刪除列表中的最後一個元素。