zltzlt 发表于 2020-4-26 21:30:10

已有 7 人购买  本主题需向作者支付 2 鱼币 才能浏览 购买主题

永恒的蓝色梦想 发表于 2020-4-26 21:41:16

本帖最后由 zltzlt 于 2020-4-26 21:50 编辑

已知y为负数,所以可以这么写def power(x, y):
    if y > 0:
      return x * power(x, y - 1)
    elif y < 0:
      return 1 / power(x, y.__neg__())
    else:
      return 1

zltzlt 发表于 2020-4-26 21:49:54

永恒的蓝色梦想 发表于 2020-4-26 21:41
已知y为负数,所以可以这么写

负负得正,也可以这样写

yrhhh 发表于 2020-7-31 16:32:10


请问我这个为什么输出结果是None啊 检查了好多遍也没有发现问题

zltzlt 发表于 2020-7-31 16:38:55

yrhhh 发表于 2020-7-31 16:32
请问我这个为什么输出结果是None啊 检查了好多遍也没有发现问题

发文本代码,帮你改改

yrhhh 发表于 2020-7-31 17:14:43

zltzlt 发表于 2020-7-31 16:38
发文本代码,帮你改改

好的 感谢大佬 可以先帮我指一下错误吗
def gcd(x, y):
    if x < y:
      temp = x
      x = y
      y = temp
      
    yushu = x % y
   
    if yushu == 0:
      return y
    else:
      x = y
      y = yushu
      gcd(x, y)

x = int(input ("请输入第一个数:"))
y = int(input ("请输入第二个数:"))
result = gcd(x, y)
print (result)

zltzlt 发表于 2020-7-31 17:18:26

yrhhh 发表于 2020-7-31 17:14
好的 感谢大佬 可以先帮我指一下错误吗
def gcd(x, y):
    if x < y:


def gcd(x, y):
    if x < y:
      temp = x
      x = y
      y = temp
      
    yushu = x % y
   
    if yushu == 0:
      return y
    else:
      x = y
      y = yushu
      return gcd(x, y)    # 这里没有 return

x = int(input ("请输入第一个数:"))
y = int(input ("请输入第二个数:"))
result = gcd(x, y)
print (result)

yrhhh 发表于 2020-7-31 18:01:35

zltzlt 发表于 2020-7-31 17:18


哦哦 懂了 非常感谢

zltzlt 发表于 2020-7-31 18:02:38

yrhhh 发表于 2020-7-31 18:01
哦哦 懂了 非常感谢

不客气{:10_297:}
页: [1]
查看完整版本: Python 课后作业详解:第 022 讲:函数:递归是神马