# [Python-checkins] r76462 - in python/branches/py3k: Doc/tutorial/controlflow.rst

mark.dickinson python-checkins at python.org
Mon Nov 23 17:41:42 CET 2009

```Author: mark.dickinson
Date: Mon Nov 23 17:41:41 2009
New Revision: 76462

Log:
Merged revisions 76460 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk

........
r76460 | mark.dickinson | 2009-11-23 16:39:05 +0000 (Mon, 23 Nov 2009) | 2 lines

Issue #7369: Fibonacci series should start at 0 in tutorial example.
........

Modified:
python/branches/py3k/   (props changed)
python/branches/py3k/Doc/tutorial/controlflow.rst

Modified: python/branches/py3k/Doc/tutorial/controlflow.rst
==============================================================================
--- python/branches/py3k/Doc/tutorial/controlflow.rst	(original)
+++ python/branches/py3k/Doc/tutorial/controlflow.rst	Mon Nov 23 17:41:41 2009
@@ -225,14 +225,14 @@
>>> def fib(n):    # write Fibonacci series up to n
...     """Print a 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()
...
>>> # Now call the function we just defined:
... fib(2000)
-   1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597
+   0 1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987 1597

.. index::
single: documentation strings
@@ -276,7 +276,7 @@
<function fib at 10042ed0>
>>> f = fib
>>> f(100)
-   1 1 2 3 5 8 13 21 34 55 89
+   0 1 1 2 3 5 8 13 21 34 55 89

Coming from other languages, you might object that ``fib`` is not a function but
a procedure since it doesn't return a value.  In fact, even functions without a
@@ -296,14 +296,14 @@
...     """Return a list containing the Fibonacci series up to n."""
...     result = []
...     a, b = 0, 1
-   ...     while b < n:
-   ...         result.append(b)    # see below
+   ...     while a < n:
+   ...         result.append(a)    # see below
...         a, b = b, a+b
...     return result
...
>>> f100 = fib2(100)    # call it
>>> f100                # write the result
-   [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]
+   [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89]

This example, as usual, demonstrates some new Python features:

@@ -311,7 +311,7 @@
:keyword:`return` without an expression argument returns ``None``. Falling off
the end of a function also returns ``None``.

-* The statement ``result.append(b)`` calls a *method* of the list object
+* The statement ``result.append(a)`` calls a *method* of the list object
``result``.  A method is a function that 'belongs' to an object and is named
``obj.methodname``, where ``obj`` is some object (this may be an expression),
and ``methodname`` is the name of a method that is defined by the object's type.
@@ -320,7 +320,7 @@
object types and methods, using *classes*, see :ref:`tut-classes`)
The method :meth:`append` shown in the example is defined for list objects; it
adds a new element at the end of the list.  In this example it is equivalent to
-  ``result = result + [b]``, but more efficient.
+  ``result = result + [a]``, but more efficient.

.. _tut-defining:
```