我想寫接受輸入數字的腳本,然後檢查python初學者:在異常之前嘗試兩件事情?
(一)該輸入實際上是一個數字, (二)有問題的數量較少大於或等於17.
我已經嘗試了各種「if」語句無濟於事,現在我試圖圍繞「嘗試」語句包裹我的頭。這是我迄今爲止最好的嘗試:
def listlength():
print "How many things (up to 17) do you want in the list?"
global listlong
listlong = raw_input("> ")
try:
listlong = int(listlong)
listlong <= 17
except:
print "Gotta be a number less than 17, chumpy!"
listlength()
liststretcher()
它適用於在嘗試的第一個元素:如果它不是一個數字,我必須通過listlength功能再次運行。但第二個元素(< = 17)完全被忽略。
我也試過
try:
listlong = int(listlong) and listlong <= 17
...但是,這仍然給我唯一的功能第一次檢查,而忽略第二完全。
我也得到了同樣的結果,如果我有兩個try語句:
try:
listlong = int(listlong)
except:
print "Gotta be a number, chumpy!"
listlength()
try:
listlong <=17
except:
print "Gotta be less than 17!"
listlength()
liststretcher()
有沒有辦法有嘗試:檢查兩件事情,並要求這兩個移動過去的異常之前通過?或者,在轉到liststretcher()命令之前,我必須在同一個定義中創建兩個不同的try:語句嗎?
對S.Lott的迴應如下:我的意圖是「嘗試:listlong < = 17」將檢查「listlong」變量是否小於或等於17;如果檢查失敗,則會移至「除外」;如果它通過,它會轉到下面的liststretcher()。
閱讀的答案至今,我已經得到了有關八件事跟進......
[不使用'不同的是:'(http://docs.python.org/howto/doanddont.html#except) ,而是要具體說明你想要捕捉哪些例外。 – delnan 2012-02-28 17:59:44
'listlong <= 17'你做了什麼?請**更新**問題以解釋您認爲該聲明的作用。請具體說明**該聲明應該做什麼。 – 2012-02-28 18:02:47