2014-03-02 19 views
0

一直有一些麻煩,應該工作得很好。一個整數作爲條件

比方說

x = 5 
if x == True: 
    ... 

的 '...' 會發生的說法是正確的。任何被評估爲條件的變量都是True,除非爲空或爲假。 什麼我試圖使用是這一概念的同時聲明:

x=input("enter a number") 

while x == True: 
    ... 
    ... 

運行時,不顯示任何錯誤,但不運行程序。外殼刷新到一條新線路,就好像沒有發生任何事情。 感謝您的幫助。

+1

你想要考慮一個「真實」的數字? –

+0

任何非零數字(推測)被認爲是真正的Python。至少,這就是我的教科書所宣稱的。在我的特殊情況下,1和10之間的任何整數 – Matt

回答

0
x = 5 
while x: 
    ... 

x = 5 

if x: 

Python顯然是想要這個。 「x:」實際上與「x == true」相同:「 這很可能會避免將true視爲x的值,而不是其條件。 感謝您的幫助,對於愚蠢的錯誤感到抱歉。

這是行不通的,而這正是我想要做的。

相比之下,

x=0 
if x: 
    ... 
elif: 
    ... 

這將運行ELIF條件,沒有如果。因爲x = 0,因此是False。

0

你確定第一個例子有效嗎?我跑了它,它沒有。如果您只是想讓循環始終運行,請執行while True:if True:。一個數字永遠不會是「真的」。你可以做的就是這個,這就好比一個while True

x=input("enter a number") 

while x == x: 
... 
... 

還是這個,這是剛剛檢查一個實例:

x=input("enter a number") 

while x == 5: 
... 
... 

你的榜樣永遠不會工作,因爲,我再說一遍,一號碼是從來沒有 「真」

+0

我現在感到很傻,但我確實知道了 – Matt

+0

不正確。作爲條件評估,任何非零數字被視爲「真」。 – Matt

相關問題