题目026:利用递归方法求5!

def fac(x):
if x>1:
return x*fac(x-1)
else:
return x
def tm026():

【思路】:按题目要求,公式f(n)=n*f(n-1),递归调用求解。

print(fac(5))

题目027:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。

def output(s,l):
if l==0:
return
print (s[l-1])
output(s,l-1)
def tm027():

【思路】:直接从官网复制,不喜欢递归。

s = input('Input a string:')
l = len(s)
output(s,l)

题目028:年龄问题

有5个人坐在一起,

问第五个人多少岁?他说比第4个人大两岁。

问第4个人,他说比第3个人大两岁。

问第3个人,又说比第2个人大两岁。

问第2个人,说比第1个人大两岁。

最后问第一个人,他说是10岁。

请问第五个人多大?

【思路】:官网给的还是递归方法,因为不用递归的话就是个口算题。

def age(x):
if x>1:
return 2+age(x-1)
else:
return 10
def tm028():

题目029:给一个不多于5位的正整数,要求:一、求它是几位数,二、逆序打印出各位数字。

【思路】:用Python,So Easy~

list倒序可以用list.reverse();字符串就只能用步长=-1的方式来倒序了。

num = 12345
s = str(num)
print(len(s))
print(s[::-1])

题目030:一个5位数,判断它是不是回文数。

即12321是回文数,个位与万位相同,十位与千位相同。
【思路】:没啥可说的。

num = 12321
s = str(num)
for i in range(len(s)//2):
if s[i]!=s[-i-1]:
print(False)
break
else:
print(True)