Python 我不知道我的编码有什么问题,它会一直跳到else语句,即使我输入的是整数而不是浮点

Python 我不知道我的编码有什么问题,它会一直跳到else语句,即使我输入的是整数而不是浮点,python,Python,内置输入总是返回str对象。您需要将其转换为int 您可以在获得输入后立即处理,请参见以下示例: factorial_number = int(input("give an integer that you want to factor: ")) print(factorial(factorial_number)) 无论键入什么,input都会返回一个字符串。也许可以阅读python文档中关于input的内容?input返回一个字符串,您需要根据需要对其进行类型转换,将其转换为int,我猜这里

内置输入总是返回str对象。您需要将其转换为int


您可以在获得输入后立即处理,请参见以下示例:

factorial_number = int(input("give an integer that you want to factor: "))
print(factorial(factorial_number))

无论键入什么,input都会返回一个字符串。也许可以阅读python文档中关于input的内容?input返回一个字符串,您需要根据需要对其进行类型转换,将其转换为int,我猜这里不会处理有效整数的负数。换成try/except;请求原谅比请求更容易permission@roganjosh虽然在一般情况下是正确的,但在这种情况下也可以,因为阶乘仅为非负整数thx定义,以便于使用
factorial_number = int(input("give an integer that you want to factor: "))
print(factorial(factorial_number))
if factorial_number.isdigit():
    factorial_number = int(factorial_number)
else:
    print("It's only for integers")