mirror of
https://github.com/python/cpython.git
synced 2025-11-03 03:22:27 +00:00
bpo-31757: Make Fibonacci examples consistent (#3991)
This commit is contained in:
parent
073150db39
commit
8c26a34f93
2 changed files with 20 additions and 18 deletions
|
|
@ -458,16 +458,18 @@ First Steps Towards Programming
|
||||||
===============================
|
===============================
|
||||||
|
|
||||||
Of course, we can use Python for more complicated tasks than adding two and two
|
Of course, we can use Python for more complicated tasks than adding two and two
|
||||||
together. For instance, we can write an initial sub-sequence of the *Fibonacci*
|
together. For instance, we can write an initial sub-sequence of the
|
||||||
series as follows::
|
`Fibonacci series <https://en.wikipedia.org/wiki/Fibonacci_number>`_
|
||||||
|
as follows::
|
||||||
|
|
||||||
>>> # Fibonacci series:
|
>>> # Fibonacci series:
|
||||||
... # the sum of two elements defines the next
|
... # the sum of two elements defines the next
|
||||||
... a, b = 0, 1
|
... a, b = 0, 1
|
||||||
>>> while b < 10:
|
>>> while a < 10:
|
||||||
... print(b)
|
... print(a)
|
||||||
... a, b = b, a+b
|
... a, b = b, a+b
|
||||||
...
|
...
|
||||||
|
0
|
||||||
1
|
1
|
||||||
1
|
1
|
||||||
2
|
2
|
||||||
|
|
@ -483,7 +485,7 @@ This example introduces several new features.
|
||||||
first before any of the assignments take place. The right-hand side expressions
|
first before any of the assignments take place. The right-hand side expressions
|
||||||
are evaluated from the left to the right.
|
are evaluated from the left to the right.
|
||||||
|
|
||||||
* The :keyword:`while` loop executes as long as the condition (here: ``b < 10``)
|
* The :keyword:`while` loop executes as long as the condition (here: ``a < 10``)
|
||||||
remains true. In Python, like in C, any non-zero integer value is true; zero is
|
remains true. In Python, like in C, any non-zero integer value is true; zero is
|
||||||
false. The condition may also be a string or list value, in fact any sequence;
|
false. The condition may also be a string or list value, in fact any sequence;
|
||||||
anything with a non-zero length is true, empty sequences are false. The test
|
anything with a non-zero length is true, empty sequences are false. The test
|
||||||
|
|
@ -516,11 +518,11 @@ This example introduces several new features.
|
||||||
or end the output with a different string::
|
or end the output with a different string::
|
||||||
|
|
||||||
>>> a, b = 0, 1
|
>>> a, b = 0, 1
|
||||||
>>> while b < 1000:
|
>>> while a < 1000:
|
||||||
... print(b, end=',')
|
... print(a, end=',')
|
||||||
... a, b = b, a+b
|
... a, b = b, a+b
|
||||||
...
|
...
|
||||||
1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,
|
0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,
|
||||||
|
|
||||||
|
|
||||||
.. rubric:: Footnotes
|
.. rubric:: Footnotes
|
||||||
|
|
|
||||||
|
|
@ -29,16 +29,16 @@ called :file:`fibo.py` in the current directory with the following contents::
|
||||||
|
|
||||||
def fib(n): # write Fibonacci series up to n
|
def fib(n): # write Fibonacci series up to n
|
||||||
a, b = 0, 1
|
a, b = 0, 1
|
||||||
while b < n:
|
while a < n:
|
||||||
print(b, end=' ')
|
print(a, end=' ')
|
||||||
a, b = b, a+b
|
a, b = b, a+b
|
||||||
print()
|
print()
|
||||||
|
|
||||||
def fib2(n): # return Fibonacci series up to n
|
def fib2(n): # return Fibonacci series up to n
|
||||||
result = []
|
result = []
|
||||||
a, b = 0, 1
|
a, b = 0, 1
|
||||||
while b < n:
|
while a < n:
|
||||||
result.append(b)
|
result.append(a)
|
||||||
a, b = b, a+b
|
a, b = b, a+b
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
|
@ -52,9 +52,9 @@ the current symbol table; it only enters the module name ``fibo`` there. Using
|
||||||
the module name you can access the functions::
|
the module name you can access the functions::
|
||||||
|
|
||||||
>>> fibo.fib(1000)
|
>>> fibo.fib(1000)
|
||||||
1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
|
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987
|
||||||
>>> fibo.fib2(100)
|
>>> fibo.fib2(100)
|
||||||
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
|
[0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
|
||||||
>>> fibo.__name__
|
>>> fibo.__name__
|
||||||
'fibo'
|
'fibo'
|
||||||
|
|
||||||
|
|
@ -62,7 +62,7 @@ If you intend to use a function often you can assign it to a local name::
|
||||||
|
|
||||||
>>> fib = fibo.fib
|
>>> fib = fibo.fib
|
||||||
>>> fib(500)
|
>>> fib(500)
|
||||||
1 1 2 3 5 8 13 21 34 55 89 144 233 377
|
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377
|
||||||
|
|
||||||
|
|
||||||
.. _tut-moremodules:
|
.. _tut-moremodules:
|
||||||
|
|
@ -92,7 +92,7 @@ module directly into the importing module's symbol table. For example::
|
||||||
|
|
||||||
>>> from fibo import fib, fib2
|
>>> from fibo import fib, fib2
|
||||||
>>> fib(500)
|
>>> fib(500)
|
||||||
1 1 2 3 5 8 13 21 34 55 89 144 233 377
|
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377
|
||||||
|
|
||||||
This does not introduce the module name from which the imports are taken in the
|
This does not introduce the module name from which the imports are taken in the
|
||||||
local symbol table (so in the example, ``fibo`` is not defined).
|
local symbol table (so in the example, ``fibo`` is not defined).
|
||||||
|
|
@ -101,7 +101,7 @@ There is even a variant to import all names that a module defines::
|
||||||
|
|
||||||
>>> from fibo import *
|
>>> from fibo import *
|
||||||
>>> fib(500)
|
>>> fib(500)
|
||||||
1 1 2 3 5 8 13 21 34 55 89 144 233 377
|
0 1 1 2 3 5 8 13 21 34 55 89 144 233 377
|
||||||
|
|
||||||
This imports all names except those beginning with an underscore (``_``).
|
This imports all names except those beginning with an underscore (``_``).
|
||||||
In most cases Python programmers do not use this facility since it introduces
|
In most cases Python programmers do not use this facility since it introduces
|
||||||
|
|
@ -145,7 +145,7 @@ executed as the "main" file:
|
||||||
.. code-block:: shell-session
|
.. code-block:: shell-session
|
||||||
|
|
||||||
$ python fibo.py 50
|
$ python fibo.py 50
|
||||||
1 1 2 3 5 8 13 21 34
|
0 1 1 2 3 5 8 13 21 34
|
||||||
|
|
||||||
If the module is imported, the code is not run::
|
If the module is imported, the code is not run::
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue