第九讲作业 1.用函数实现一个判断用户输入的年份是否是闰年的程序 1).能被400整除的年份 2).能被4整除,但是不能被100整除的年份 以上2种方法满足一种即为闰年 def leap_year(): while True: year = int(input('请输入数字年份(如需退出请输入0):')) if (year % 4 == 0 or year % 400 == 0) and year != 0: print("%d是闰年" % year) elif year == 0: return False else: print("%d不是闰年" % year) leap_year() 2.猴子吃桃问题(递归): 猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了,求第一天共摘了多少桃子? # 首先是思路 ,这个题目要逆向思维,从1往前推导 避免出现除以2不能整除的现象 # F0=1 n=0 # F1= (1+1)*2 n=1 # F2= (F1+1)*2 n=2 # Fn= (F(n-1)+1)*2 n def eat_pear(n): if n == 1: return 1 return (eat_pear(n - 1) + 1) * 2 n = int(input('你想让猴子第几天吃地只剩一个桃子?请输入:')) print('需要有{}个桃子,才能满足猴子在第{}天吃地只剩一个'.format(eat_pear(n), n))