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

求解for - str and int 代码如何修改

n=input()

def fact(n):

if n==1:

return 1

return n*fact(n-1)

print(fact(n))

错误在n*fact(n-1),如何修改能达到我要的效果;

输入数字输出计算结果

正在回答

2 回答

n = input()
def fact(n):
    if n == 1:
        return 1
    return int(n) * fact(int(n) - 1)
print(fact(n))

这里第五行需要转换一下,因为ptyhon不想像其他语言,需要指定数据类型,错误提示说的是str与int不能用‘-’号运算,我猜测可能是与函数返回值的类型有关系,我也是个小白,有什么说错的地方还请见谅!

2 回复 有任何疑惑可以回复我~
#1

qq_尹新宇_0 提问者

问了同事,int()强制转换n的数据类型操作时对的。谢谢
2019-02-14 回复 有任何疑惑可以回复我~

n=input()

def fact(n):

    if n==1:

        return 1

    return n*fact(n-1)

print(fact(n))

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识Python
  • 参与学习       758620    人
  • 解答问题       8667    个

学python入门视频教程,让你快速入门并能编写简单的Python程序

进入课程

求解for - str and int 代码如何修改

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信