2016-01-19 50 views
0

不問問用戶輸入,當他們鍵入字母時,它會出現一個錯誤消息(如我想),但即使用戶輸入數字時出現錯誤。如果輸入的是正確的數據,我希望它從這個循環中出來,然後放到下一個名稱中。Python 3.4.2循環不

+1

閱讀[input()文檔](https://docs.python.org/3/library/functions.html#input)。該函數總是返回一個字符串,而不是一個整數。 – skrrgwasme

回答

5

input總是返回文本 - 即使只有數字。

使用int(Telephone)轉換爲整數或Telephone.isdigit()檢查文本中是否只有數字。


BTW:這兩種方法是,如果用戶使用的空間或電話號碼-沒用;)

也許你將不得不使用int()isdigit()

+0

OP,請查看['int()'](https://docs.python.org/2/library/functions.html#int)。 – Sam

3
之前刪除使用 replace()空間和 -

您需要轉換爲int:

while True: 
    try: 
     Telephone = int(input("Please enter your telephone number ")) 
     break 
    except ValueError: 
     print ("Sorry, system does not recognise input ") 
+1

說'catch'無效的語法 – Programmer

+0

即使使用此代碼並將catch更改爲除except它運行,並且每次運行時問題只是不斷重複,當它應該移動到下一個循環 – Programmer

+0

看看我添加的新主題混淆 – Programmer