鱼C论坛

 找回密码
 立即注册
查看: 2640|回复: 7

关于递归的课后作业

[复制链接]
发表于 2015-3-12 23:40:28 | 显示全部楼层 |阅读模式

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

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

x
小甲鱼的23、24讲课后作业,用“取2余2”的方法写一个十进制转换二进制的程序,代码如下
  1. def Dec2Bin(dec):
  2.     result = ''
  3.    
  4.     if dec:
  5.         result = Dec2Bin(dec//2)
  6.         return result + str(dec%2)
  7.     else:
  8.         return result

  9. print(Dec2Bin(62))
复制代码


if语句中, result = Dec2Bin(dec//2)   这句怎么解释啊,为什么要赋值给result,真心求解
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2015-3-15 19:28:01 | 显示全部楼层
拿起笔画一下图你就清楚了....
另外,类似的问题在【已经解决】中有,找找看哦!
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-15 22:37:30 | 显示全部楼层
看看先
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-15 22:51:21 | 显示全部楼层
这个没看懂,谁能解释下?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-3-16 10:22:39 | 显示全部楼层
本帖最后由 初学Python 于 2015-3-16 10:29 编辑

给你举个例子:
比如:你要换算的十进制数是2,那么它对应的二进制数应该是10对吧!
那么它会调用Dec2Bin(2//2)也就是Dec2Bin(1)那么他会返回一个字符串对吧也就是result = " " + str(1) = "1"
然后会调用下一天语句就是return result +str(dec %2 ) = "1"+ "0" = "10"
递归其实很简单,你先将前几项想明白了就好了
递归:
1、递归就是函数调用自身的一个行为
2、有一个正确的返回条件
这里:函数就是Dec2Bin(dec)
       返回条件就是return result + str(dec % 2)
还有将十进制数换算成二进制数,就是反复除以2取余倒排整好这个函数就是这么办的,你仔细想想吧!

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-4-12 21:13:59 | 显示全部楼层
不知道能不能把图发出来,今天刚想明白的
$IQ6~)A1@L)L1PY9(UW6.jpg
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-4-21 09:42:13 | 显示全部楼层
学习了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-1-13 16:43:14 | 显示全部楼层
学习了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-2-15 04:48

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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