2

Python を理解しようとしていますが、まだ理解できません。私はその言語に慣れていないので、正しく理解したいと思っています。これは、ループを使用したフィボナッチ数列からの線です。このコードの意味を教えてください。手でパターンを取得しようとしています。パターンは 3 まで出たのですが、3 を過ぎると答えが出ません。

a, b = 0, 1
while b < 50:
    print(b)
    a, b = b, a + b
4

6 に答える 6

3

複数の割り当て (またはタプルのアンパック) です。

Pythonチュートリアルによると:

>>> # Fibonacci series:
... # the sum of two elements defines the next
... a, b = 0, 1
>>> while b < 10:
...     print(b)
...     a, b = b, a+b
...
1
1
2
3
5
8

この例では、いくつかの新機能が導入されています。

最初の行には複数の代入が含まれています: 変数 a と b は同時に新しい値 0 と 1 を取得します。最後の行でこれが再び使用され、右辺の式がすべて代入の前に最初に評価されることを示しています。行われる。右辺の式は左から右に評価されます。

于 2013-08-02T06:10:21.253 に答える
1

複数回答はどうですか?

def fib(num):
    a = 0
    b = 1
    while b <= num:
        prev_a = a
        a = b
        b = prev_a +b
        #print b                                                                                                          
    return a

print fib(13)

def pythonic_fib(num):
    a,b = 0,1
    while b <= num:
        a,b = b, a+b
    return a

print pythonic_fib(13)

def recursive_fib(num, a, b):
    if (b >= num):
        return b
    else:
        return recursive_fib(num, b, a+b)

print recursive_fib(13, 0, 1)
于 2017-01-04T21:43:04.363 に答える
-1
a= int(input("Enter the first number:"));
Enter the first number:0
b= int(input("enter the second number:"));
enter the second number:1
n= int (input("enter the number of terms:"));
enter the number of terms:10
print(a,b);
0 1
while(n>2):
      c=a+b;
      a=b;
      b=c;
      print(c);
      n=n-1;


1
2
3
5
8
13
21
34
于 2017-12-05T17:32:20.133 に答える