2015-09-22 46 views
1

我是python的新手,並希望將用戶輸入設置爲for循環中的限制。代碼如下:傳遞用戶輸入作爲python for循環的限制

q = raw_input("Enter desired instances: "); 
    for x in range(0, q) 
     print "Hello" 

目前我收到一個語法錯誤。我也試過%q和$ q,那些也失敗了。

+2

'q'是一個字符串,'range'需要一個整數。另外,由於range(n)== range(0,n)',所以不需要用零開始。 –

+0

您通常應該在問題中發佈錯誤消息和回溯。 (這裏的錯誤信息類似'TypeError:range()整數結束參數期望,得到str.'。 –

回答

5
q = int(raw_input("Enter desired instances: ")) 
for x in range(q): 
    print "Hello" 

raw_input()返回的字符串,需要轉換爲int

3

您需要將結果轉換爲int,因爲raw_input返回一個字符串。

q = raw_input("Enter desired instances: ") 
for x in range(0, int(q)): 
    print "Hello" 

而作爲一個更Python的方法,因爲它可能是用戶輸入一個非數字輸入,在這種情況下,Python會引發一個ValueError可以使用try-except表達式來包裝你的代碼處理異常。

+0

'int'而不是字符串會引發TypeError(或類似的東西)。語法錯誤來自'for'語句中缺少冒號:) – Psytho