2016-08-17 105 views
0

我正在嘗試在Python中創建一個程序,該程序需要重複Fibonacci序列的次數。如何在Python 3.x中強制整數輸入?

... 
i=1 
timeNum= input("How many times do you want to repeat the sequence?") 
while i <= timeNum: 
    ... 
    i += 1 

如何強制輸入是一個整數?我不能讓人們重複序列'蘋果'時代?我知道它涉及int(),但我不知道如何使用它。任何和所有的幫助表示讚賞。

回答

4

你可以嘗試轉換爲int類型,如果失敗則重複該問題。

i = 1 
while True: 
    timeNum = input("How many times do you want to repeat the sequence?") 
    try: 
     timeNum = int(timeNum) 
     break 
    except ValueError: 
     pass 

while i <= timeNum: 
    ... 
    i += 1 

雖然使用的try-catch的處理是在一些語言忌諱,巨蟒趨於擁抱「請求原諒,而不是許可辦法」。引用Python glossary中的EAFP部分:

更容易請求原諒而不是權限。這種常見的Python編碼風格假定存在有效的鍵或屬性,並且如果假設證明是錯誤的,則捕獲異常。這種乾淨而快速的風格的特點是存在許多嘗試和除外聲明。