我希望这两个函数都在同一个类数学中。使用数学 类对象。我可以调用这两个函数,我也希望fibonacii系列出现在数组中。
#fibonacii series of a no using recursion
def fib(n):
if n<=1:
return n
else:
return (fib(n-1) + fib(n-2))
n = int(input("Enter number of terms:"))
print("Fibonacii series are: ")
for i in range (n):
print(fib(i))
#for factorial
n=int(input("Enter the no to find factorial: "))
def facts(n):
if n == 0 or n == 1:
return 1
if n>=1:
return n * facts(n-1)
print("The facatorial of a given no",str(n),"is:",facts(n))
答案 0 :(得分:0)
我建议您使用静态方法创建一个类:
class Fibonacii(object):
def __init__(self):
# this is the constructor you can initialize stuff here if required
# if not just pass it like in this example
pass
@staticmethod
def fib(n):
if n<=1:
return n
else:
return (Fibonacii.fib(n-1) + Fibonacii.fib(n-2))
@staticmethod
def facts(n):
if n == 0 or n == 1:
return 1
if n>=1:
return n * Fibonacii.facts(n-1)
静态方法的优点是可以在不创建该类对象的情况下使用它们。因此,您可以在脚本中执行以下操作:
if __name__ == "__main__":
n = int(input("Enter number of terms:"))
print("Fibonacii series are: ")
for i in range (n):
print(Fibonacii.fib(i))
#for factorial
n=int(input("Enter the no to find factorial: "))
print("The facatorial of a given no",str(n),"is:",Fibonacii.facts(n))
main之后的部分是正在执行的脚本部分(如果它是主脚本)。注意,该类从不用于创建对象。但这是用来保存您的两个函数的,并且可以用来调用它们。