为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

POPMUISE 2021-11-30 16:00:28
def factorial(n):    if isinstance(n,int):        if n == 1:            return 1;        elif n <= 0:            print("Factorial is for positive integer.")        else:            return n*factorial(n-1)    else:        print("It's only for integers")factorial_number = input("give an integer that you want to factor: ")print(factorial(factorial_number))
查看完整描述

2 回答

?
慕的地8271018

TA贡献1796条经验 获得超4个赞

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


if factorial_number.isdigit():

    factorial_number = int(factorial_number)

else:

    print("It's only for integers")


查看完整回答
反对 回复 2021-11-30
?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

内置函数input()总是返回一个str对象。您需要将其转换为int.


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

print(factorial(factorial_number))


查看完整回答
反对 回复 2021-11-30
  • 2 回答
  • 0 关注
  • 163 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信