第023、024讲:递归:这帮小兔崽子、汉诺塔 | 课后测试题及答案
动动手:
0. 使用递归编写一个十进制转换为二进制的函数(要求采用“取2取余”的方式,结果与调用bin()一样返回字符串形式)。
def Dec2Bin(dec):result = ''if dec:result = Dec2Bin(dec//2)return result + str(dec%2)else:return resultprint(Dec2Bin(62))
1. 写一个函数get_digits(n),将参数n分解出每个位的数字并按顺序存放到列表中。举例:get_digits(12345) ==> [1, 2, 3, 4, 5]
result = []
def get_digits(n):if n > 0:result.insert(0, n%10)get_digits(n//10)get_digits(12345)
print(result)
2. 还记得求回文字符串那道题吗?现在让你使用递归的方式来求解,亲还能骄傲的说我可以吗?
def is_palindrome(n, start, end):if start > end:return 1 else:return is_palindrome(n, start+1, end-1) if n[start] == n[end] else 0string = input('请输入一串字符串:')
length = len(string)-1if is_palindrome(string, 0, length):print('"%s"是回文字符串!' % string)
else:print('"%s"不是回文字符串!' % string)
3. 使用递归编程求解以下问题:
有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。
最后问第一个人,他说是10岁。请问第五个人多大?
def age(n):if n == 1:return 10else:return age(n-1) + 2print('哈哈,我知道了,第五个人的年龄是 %d 岁,啵啵脆!' % age(5))
第023、024讲:递归:这帮小兔崽子、汉诺塔 | 课后测试题及答案相关推荐
- 第023、024讲:这帮小兔崽子汉诺塔 | 学习记录(小甲鱼零基础入门学习Python)
(标答出处: 鱼C论坛) <零基础入门学习Python> 测试题: 0.使用递归编写一个十进制转换为二进制的函数(要求采用'取2取余'的方式,结果与调用bin()函数一样返回字符串形式) ...
- [小甲鱼] 零基础入门python第023、024讲课后测试题及答案:这帮小兔崽子汉诺塔
动动手: 0.使用递归编写一个十进制转换为二进制的函数(要求采用'取2取余'的方式,结果与调用bin()函数一样返回字符串形式) def ten2bin(n):result=''if n:result ...
- 小甲鱼Python第二十三讲、第二十四讲(递归-这帮小兔崽子、汉诺塔)
def fab(n):迭代的方法if n<1:return -1while(n-2)>0:n3=n2+n1n1=n2n2=n3n=n-1return n3 def rabbit(n):递归 ...
- 小甲鱼《零基础学习Python》课后笔记(二十三、二十四):递归——这帮小兔崽子和汉诺塔
由于递归实在不太理解,而且觉得题目大多是为了用递归而使用递归,觉得题目暂时没有做的必要,所以先跳过,以后用到再补充学习- 2018年8月11日
- P24 023递归:这帮小兔崽子
小甲鱼Python P24 023递归:这帮小兔崽子 P24 023递归:这帮小兔崽子 # def fab(n): # n1 = 1 # n2 = 1 # n3 = 1 # # if n < 1 ...
- 小甲鱼零基础学python笔记 P24 递归:这帮小兔崽子
P24 递归:这帮小兔崽子 斐波那契数列:后一个数等于前两数之和 f(n-2)+ f(n-1)=f(n) 例题: 方法一:函数执行 利用函数来执行: 函数执行逻辑: 初始值都为1,利用循环来进行判断若 ...
- 【Java数据结构与算法】第十七章 二分查找(非递归)和分治算法(汉诺塔)
第十七章 二分查找(非递归)和分治算法(汉诺塔) 文章目录 第十七章 二分查找(非递归)和分治算法(汉诺塔) 一.二分查找 1.思路 2.代码实现 二.分治算法(汉诺塔) 1.概述 2.汉诺塔 一.二 ...
- 《零基础入门学习Python》第023、024讲:递归:这帮小兔崽子、汉诺塔
目录 动动手 0. 使用递归编写一个十进制转换为二进制的函数(要求采用"取2取余"的方式,结果与调用bin()一样返回字符串形式). 1. 写一个函数get_digits(n),将 ...
- 第023、024讲:递归:这帮小兔崽子、汉诺塔
动动手 0. 使用递归编写一个十进制转换为二进制的函数(要求采用"取2取余"的方式,结果与调用bin()一样返回字符串形式). def Bin(x):if x==0:return ...
最新文章
- 全球数百万台 Mac 疑似因 Big Sur 更新险酿计算灾难,苹果官方回应来了!
- 如何有效抵抗电脑辐射
- 微信小程序实现支付功能
- TCP发送接口(如send(),write()等)的返回值与成功发送到接收端的数据量无直接关系
- batch lr替代关系_建立关系的替代方法
- Oracle数据库中游标的游标的使用
- 再读王永庆卖米的故事
- 面试:一文搞懂堆和栈的区别
- HDU2892 area 简单多边形与圆面积交
- ORACLE1.8-序列
- System.out和System.err的区别
- C++11 用户自定义字面量
- 浏览器加载渲染网页过程解析
- GPS卫星星历与历书
- 按键精灵实现远程获取消息内容自动发送到群里(支持多个qq)
- P3435 [POI2006]OKR-Periods of Words(KMP最短公共前后缀)
- Linux上使用腾讯QQ与TIM
- delete和delete[]的理解
- Java岗面试:美国java程序员要求
- blockchain-wallet-sdk中的助记词部分使用示例