微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有递归函数的参数的问题

如何解决带有递归函数的参数的问题

这是代码

func  writeGroups(pdf *pdf.Maroto) {
    (*pdf).AddPage()
}

当我为def summationTwo(lower,upper,margin): """Returns the sum of the numbers from lower through upper,and outputs a trace of the arguments and returns values on each call""" blanks = " " * margin print(blanks,lower,upper) if lower > upper: print(blanks,0) return 0 else: result = lower + summation(lower + 1,margin + 4) print(blanks,result) return result summationTwo (1,4) 函数调用插入两个参数时,我得到一个回溯,内容为:“ TypeError:summation()接受2个位置参数,但给出了3个位置参数。”

但是,当我插入两个参数时,会得到以下回溯:“ TypeError:summationTwo()缺少1个必需的位置参数:'margin'”

这是怎么回事?

解决方法

sumsum与sumsumTwo的功能不同。当仅使用两个参数进行调用时,则说明您没有提供足够的参数。那是一个错误,事情就此止步。当您提供三个参数时,它将遍历并实际调用该函数。当到达调用带有太多参数的求和的行时,那就是错误。我不知道这个求和函数,也没有在这里定义它,所以我真的不知道它期望什么参数。但是错误消息似乎暗示只需要两个

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。