鱼C论坛

 找回密码
 立即注册
查看: 1724|回复: 8

零基础学习python第二十二课后习题递归问题

[复制链接]
发表于 2017-11-26 11:51:01 | 显示全部楼层 |阅读模式

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

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

x
请教:

使用递归编写一个power()函数模拟内建函数pow(),即power(x, y)为计算并返回x的y次幂的值
def pow(x, y):
  if y==0:
    return x
  else:
    x = x*pow(x, y-1)

x = int(input('请输入x的值'))
y = int(input('请输入y的值'))
b = pow(x, y)
print('%d的%d次幂为%d' % (x, y, b))

使用递归编写一个函数,利用欧几里得算法求最大公约数,例如gcd(x, y)返回值为参数x和参数y的最大公约数
def gcd(x, y):
  if y==0:
    return x
  else:
    t = x%y
    x = y
    y = t
    gcd(x, y)

x = int(input('请输入x的值:'))
y = int(input('请输入y的值:'))
a = gcd(x, y)
print('%d与%d的最大公约数为%d' % (x, y, a))

上面是两道课后作业题,编译的时候报错,可是我没看出来错在哪里,可以帮我指正一下吗??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2017-11-26 12:11:09 From FishC Mobile | 显示全部楼层
错误提示是什么
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-26 12:24:27 | 显示全部楼层

混迹于各大板块啊...哪里都有你!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-26 12:53:23 | 显示全部楼层
第一个迭代当执行else: x = x * pow(x, y - 1)之后,没有返回值,最后得到的结果类型就是None
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-26 12:55:21 | 显示全部楼层
  1. def pow(x, y):
  2.     if y == 0:
  3.         return 1
  4.     else:
  5.         x = x * pow(x, y-1)
  6.         return x

  7. x = int(input('请输入x的值:'))
  8. y = int(input('请输入y的值:'))
  9. b = pow(x, y)
  10. print(pow(x, y))
  11. print('%d的%d次幂为%d' % (x, y, b))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-26 13:02:13 | 显示全部楼层
  1. def gcd(x, y):
  2.   if y == 0:
  3.     return x
  4.   else:
  5.     t = x % y
  6.     x = y
  7.     y = t
  8.     return gcd(x, y)

  9. x = int(input('请输入x的值:'))
  10. y = int(input('请输入y的值:'))
  11. a = gcd(x, y)
  12. print('%d与%d的最大公约数为%d' % (x, y, a))
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-26 13:44:47 | 显示全部楼层
else中的 gcd也要return,否则就没有结果
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-26 13:47:31 | 显示全部楼层
李氏神魔恋
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-11-26 15:04:17 | 显示全部楼层
铁棍阿童木 发表于 2017-11-26 12:24
混迹于各大板块啊...哪里都有你!

因为是大神 懂很多~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-28 11:33

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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