鱼C论坛

 找回密码
 立即注册
查看: 2400|回复: 5

[已解决]我这样返回函数值不行吗?为什么会报错。。求大佬们指点

[复制链接]
发表于 2020-3-17 19:40:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
def odd(n):
    if n == 1:
        return 1
    else:
        odd(n) = n * odd(n-1)
        return  odd(n)
        
number = int(input('请输入一个数字:'))
print('%d的阶乘是:%d'%(number,odd(number)))

最佳答案
2020-3-17 19:42:47
第一次见过给函数赋值的。。。
得这样写:
  1. def odd(n):
  2.      if n == 1:
  3.          return 1
  4.      else:
  5.          return  n * odd(n-1)
  6.          
  7. number = int(input('请输入一个数字:'))
  8. print('%d的阶乘是:%d'%(number,odd(number)))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-17 19:42:47 | 显示全部楼层    本楼为最佳答案   
第一次见过给函数赋值的。。。
得这样写:
  1. def odd(n):
  2.      if n == 1:
  3.          return 1
  4.      else:
  5.          return  n * odd(n-1)
  6.          
  7. number = int(input('请输入一个数字:'))
  8. print('%d的阶乘是:%d'%(number,odd(number)))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-17 19:53:41 | 显示全部楼层
不能给函数的返回值赋值,直接 return 就可以了:

  1. def odd(n):
  2.     if n == 1:
  3.         return 1
  4.     else:
  5.         return n * odd(n-1)
  6.         
  7. number = int(input('请输入一个数字:'))
  8. print('%d的阶乘是:%d'%(number,odd(number)))
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-17 20:48:05 | 显示全部楼层
给函数返回值赋值,天秀
  1. def odd(n):
  2.     if n == 1:
  3.         return 1
  4.     else:
  5.         return  n * odd(n-1)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-18 08:15:26 | 显示全部楼层
函数赋值后它就不是一个函数了,不能callable
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-18 09:45:21 | 显示全部楼层
iltifa 发表于 2020-3-18 08:15
函数赋值后它就不是一个函数了,不能callable

实际上是他给一个常量赋值的问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-14 13:31

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表