[Python-checkins] bpo-31757: Make Fibonacci examples consistent (#3991)

Raymond Hettinger webhook-mailer at python.org
Sat Oct 14 10:36:12 EDT 2017


https://github.com/python/cpython/commit/8c26a34f93db7ae96b42bcce6b557437436c7721
commit: 8c26a34f93db7ae96b42bcce6b557437436c7721
branch: master
author: Raymond Hettinger <rhettinger at users.noreply.github.com>
committer: GitHub <noreply at github.com>
date: 2017-10-14T07:36:08-07:00
summary:

bpo-31757: Make Fibonacci examples consistent (#3991)

files:
M Doc/tutorial/introduction.rst
M Doc/tutorial/modules.rst

diff --git a/Doc/tutorial/introduction.rst b/Doc/tutorial/introduction.rst
index 8956aa5a261..2fa894a533f 100644
--- a/Doc/tutorial/introduction.rst
+++ b/Doc/tutorial/introduction.rst
@@ -458,16 +458,18 @@ First Steps Towards Programming
 ===============================
 
 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*
-series as follows::
+together.  For instance, we can write an initial sub-sequence of the
+`Fibonacci series <https://en.wikipedia.org/wiki/Fibonacci_number>`_
+as follows::
 
    >>> # Fibonacci series:
    ... # the sum of two elements defines the next
    ... a, b = 0, 1
-   >>> while b < 10:
-   ...     print(b)
+   >>> while a < 10:
+   ...     print(a)
    ...     a, b = b, a+b
    ...
+   0
    1
    1
    2
@@ -483,7 +485,7 @@ This example introduces several new features.
   first before any of the assignments take place.  The right-hand side expressions
   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
   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
@@ -516,11 +518,11 @@ This example introduces several new features.
   or end the output with a different string::
 
      >>> a, b = 0, 1
-     >>> while b < 1000:
-     ...     print(b, end=',')
+     >>> while a < 1000:
+     ...     print(a, end=',')
      ...     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
diff --git a/Doc/tutorial/modules.rst b/Doc/tutorial/modules.rst
index 1e3d5c01a47..2be03ac6ae3 100644
--- a/Doc/tutorial/modules.rst
+++ b/Doc/tutorial/modules.rst
@@ -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
        a, b = 0, 1
-       while b < n:
-           print(b, end=' ')
+       while a < n:
+           print(a, end=' ')
            a, b = b, a+b
        print()
 
    def fib2(n):   # return Fibonacci series up to n
        result = []
        a, b = 0, 1
-       while b < n:
-           result.append(b)
+       while a < n:
+           result.append(a)
            a, b = b, a+b
        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::
 
    >>> 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)
-   [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'
 
@@ -62,7 +62,7 @@ If you intend to use a function often you can assign it to a local name::
 
    >>> fib = fibo.fib
    >>> 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:
@@ -92,7 +92,7 @@ module directly into the importing module's symbol table.  For example::
 
    >>> from fibo import fib, fib2
    >>> 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
 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 *
    >>> 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 (``_``).
 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
 
    $ 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::
 



More information about the Python-checkins mailing list