1. 피보나치 수열 - return
return을 사용하기 때문에 해당하는 숫자 하나만 return 된다.
실행시키는 방법은 두가지가 있는데 두가지를 동시에 사용하기 위해서 __name__을 사용했다.
ln[1] |
%%writefile fibonacci.py def Fibonacci(n): f1, f0 = 0,1 for i in range(n): f1, f0 = f0, f1+f0 return f1 if __name__ == "__main__": n = int(input("input: ")) print(Fibonacci(n)) |
1-1 %run 사용
ln[2] |
%run fibonacci.py |
__name__에 걸려서 input을 이용해서 출력할 수 있다.
1-2 import 사용
Fibonacci(n)으로 fibonacci.py에 들어있는 함수만 사용하는 것이 가능하다.
ln[3] |
import fibonacci fibonacci.Fibonacci(8) |
2. 피보나치 수열 - yield
피보나치 과제가 또 나왔는데 이번엔 yield를 사용하는 문제이다.
숫자 하나만 달랑 나오는 위의 함수와는 달리 for문을 사용해서 출력하기 때문에 1부터 해당 숫자까지 모두 출력된다.
ln[1] |
%%writefile fibo.py def Fibo(n): f1, f0 = 0,1 for i in range(n): f1, f0 = f0, f1+f0 yield f1
if __name__ == "__main__": n = int(input("input: ")) fib = Fibo(n) for i in fib: print(i) |