零基础学习Python 作业 第23-24章
2018-03-17 22:03
357 查看
============ CH23-24homework ============
0 使用递归编写一个十进制转二进制的函数,要求:
采用取2取余的方式,结果与调用bin()一样返回字符串形式。
1 写一个函数get_digit(n),将参数n分解出每个位的数字并按顺序存放在列表中。
举例: get_digits(12345) ==> [1,2,3,4,5]
2 还记得求回文字符串那道题吗? 现在让你用递归的方式来求解,
亲还能傲娇的说我可以吗?
3使用递归编程求解以下问题:
有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,
他说比第三个人大两岁,问第三个人,又说比第二个人大两岁,问第二个人,
又说比第1个人大两岁。 最后问第一个人,他说是10岁。请问第5个人多大?
0 使用递归编写一个十进制转二进制的函数,要求:
采用取2取余的方式,结果与调用bin()一样返回字符串形式。
def binB(num): # 剥洋葱思路 # 每一次都要做两件事 num // 2; num % 2 # 先预设一个空字符串: result result = '' if num: # 开始剥洋葱 num // 2,直到洋葱皮剥完为止 # 当到最后一层(num = 1 ) # 开始把洋葱还原,返回 num % 2, 有点类似于出栈 result = binB( num // 2) return result + str(num % 2) else: # 还原到最外面(实际是在剥到最后一片式,还原回去所有的result),出结果 return result print(binB(8))
1 写一个函数get_digit(n),将参数n分解出每个位的数字并按顺序存放在列表中。
举例: get_digits(12345) ==> [1,2,3,4,5]
# 不同于字符串,不好放在函数中 result = [] def get_digits(num): if num: # 这里只需要每次插在列表最前面就行了 result.insert(0, num % 10) get_digits(num // 10) else: return result temp = int(input('Please input a number:')) get_digits(temp) print(temp)
2 还记得求回文字符串那道题吗? 现在让你用递归的方式来求解,
亲还能傲娇的说我可以吗?
def Palindrome(str1, start, end): if start > end: return 1 else: return Palindrome(str1, start + 1, end - 1) if str1[start] == str1[end] else 0 string = input('Please input a string: ') length = len(string)-1 if Palindrome(string, 0, length): print('\"%s\"是回文符' % string) else: print('\"%s\"不是回文符' % string)
3使用递归编程求解以下问题:
有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,
他说比第三个人大两岁,问第三个人,又说比第二个人大两岁,问第二个人,
又说比第1个人大两岁。 最后问第一个人,他说是10岁。请问第5个人多大?
def age(x): if x == 1: return 10 else: return age(x-1) + 2 print('我知道第5个人的年龄是%d' % age(5))
Summary
关于递归:1、设置了正确的返回值(条件);2、调用自身函数。相关文章推荐
- 零基础学习Python 作业 第4章
- 零基础学习Python 作业 第16章
- 零基础学习Python 作业 第17章
- 零基础学习Python 作业 第18章
- 零基础学习Python 作业 第2章
- 零基础学习Python 作业 第20章
- 零基础学习Python 作业 第28章
- Python零基础学习 问题及作业 问题待续
- 零基础学习Python 作业 第11-12章
- 零基础学习Python 作业 第13章
- 零基础学习Python 作业 第5章
- 零基础学习Python 作业 第22章
- 零基础学习Python 作业 第19章
- 零基础学习Python 作业 第21章
- python基础学习小作业(一)
- 零基础学习Python 作业 第10章
- 零基础学习Python 作业 第15章
- 零基础学习Python 作业 第25章
- 零基础学习Python 作业 第26章
- 零基础学习Python 作业 第14章