如何在python 3.x中强制整数输入?

How to force integer input in Python 3.x?

本问题已经有最佳答案,请猛点这里访问。

我正在尝试用python编写一个程序,它接受一个输入,重复斐波那契序列多少次。

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

如何强制该输入为整数?我不能让人们重复"苹果"时代的顺序?我知道它涉及到int(),但我不知道如何使用它。感谢您的帮助。


你可以试着转换成一个int,如果它失败,你可以重复这个问题。

1
2
3
4
5
6
7
8
9
10
11
12
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倾向于采用"请求原谅,而不是许可"的方法。要引用Python术语表中关于EAFP的部分:

Easier to ask for forgiveness than permission. This common Python coding style assumes the existence of valid keys or attributes and catches exceptions if the assumption proves false. This clean and fast style is characterized by the presence of many try and except statements.