2011-04-05 37 views

回答

9

我建議組合:)

while True: 
    value = raw_input('Value between 0 and 100:') 
    try: 
     value = int(value) 
    except ValueError: 
     print 'Valid number, please' 
     continue 
    if 0 <= value <= 100: 
     break 
    else: 
     print 'Valid range, please: 0-100' 

希望它能幫助。

+0

而True:?這是什麼意思? zindel。 – kn3l 2011-04-05 20:24:12

+0

實際上是一個無限循環。這段代碼不允許程序繼續進行下去,直到值沒有被輸入爲止。一般來說,它是某種「goto」仿真,適用於這類任務。看,週期內有'break'和'continue'語句 - 所以不用擔心 - 它會在某個時候停止;) – zindel 2011-04-05 20:28:33

+0

'while True:'是創建無限循環的一個習慣用法(在@ zindel的例子中這裏是一個循環,直到用戶輸入的數字在允許的範圍內,所以唯一的方法就是輸入一個有效的整數(或Ctrl + C,我猜...) – bgporter 2011-04-05 20:29:27

5

if/else在這裏可能更合適,因爲引發的任何異常都會是你自己拋出的異常(並且你仍然必須處理它們)。

1

最簡單的方法是if/else。

但我可能會做一個驗證與if/else和拋出異常。