python函数定义、递归练习

python函数定义、递归练习,第1张

1.分别用递归函数和非递归函数的形式实现:输入两个1至10000之间的正整数,输出这两个数之间的所有Fibonacci数列。
提示:Fibonacci数列为1,1,2,3,5,8,13,21,...1,1,2,3,5,8,13,21,...
在数学上,数列以如下递归的方法定义:F(1)=1,F(2)=1,F(n)=F(n−1)+F(n−2)(n>=2,n∈N*)

​#递归函数
def Fibonacci(n):
    if n == 1 or n == 2:
        return 1
    else:
        return Fibonacci(n-1) + Fibonacci(n-2)
while True:
    try:
        a = int(input("输入范围下限:"))
        b = int(input("输入范围上限:"))
        if 1 <= a < b <= 10000:
            list_Fibonacci = []
            for i in range(1,21):
                c = Fibonacci(i)
                if c in range(a,b+1):
                    list_Fibonacci.append(c)
                else:
                    continue
            print(list_Fibonacci)
        else:
            print("请输入1-10000之间的整数,且a小b大")
    except ValueError:
        print("请输入整数")

​
def Fibonacci(n):
     if n==1 or n==2:
        return 1 
     else:
        i,F1,F2 =2,1,1
        while(i

 2.用递归函数将输入的字符串以相反顺序输出。

def abc(a):
    if len(a) == 0:
        return
    else:
        print(a[len(a) -1],end = '')
        abc(a[:len(a) -1])
        return ""
a = input("请输入字符串")
print(abc(a))

 3.实现isPrime()函数,参数为整数。如果整数是素数,返回True,否则返回False。编写程序并保存为isPrimeFun.py

(1) 调用isPrime()函数并在屏幕输出3-100以内的素数,编写程序并保存为showPrime.py。提交程序文件isPrimeFun.py和showPrime.py。

(2) 请思考:如果用户输入的不是整数,是浮点数或者字符串等,程序就会出错。那么,如何进行异常处理,保证程序不出错呢?

while True:
    try:
        def isPrime(n):
            list_i = []
            for i in range(1,n):
                if n % i == 0:
                    list_i.append(i)
                else:
                    continue
            if len(list_i) == 1:
                return True
            else:
                return False
        isPrime(4)
        list_j = []
        a = int(input("请输入范围下限:"))
        b = int(input("请输入范围上限:"))
        for j in range(a,b + 1):
            if isPrime(j):
                list_j.append(j)
            else:
                continue
        print(list_j)
    except ValueError:
        print("请输入一个整数")

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/717570.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-25
下一篇2022-04-25

发表评论

登录后才能评论

评论列表(0条)