python基础练习(五)
1.题目:
有一分数序列:2/1,3/2,5/3,8/5,13/8,21/13…求出这个数列的前20项之和。
分析:本题目观察提供的数字,发现后一个分数的分子是由前一个分数的分子加分母得到的,而后一个分数的分母则是前一个分数的分子,由此来写程序。
程序
n = int(input("请输入前n项和:"))
a = 2
b = 1
s = 0
for n in range(1,n + 1):
s += a / b
b,a = a,a + b
print (s)
2.题目:
利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。
分析:自定义五个字符,定义一个函数f(x),x代表字符的长度,然后进行判断,如果等于-1,那么就像后面移动一位
代码
str = input("请输入字符:")
def f(x):
if x == -1:
return ' '
else:
return str[x] + f(x - 1) #否则返回字符串的位置向后移动一位
print(f(len(str)-1))