GNU Info

Info Node: (python2.1-tut.info)First Steps Towards Programming

(python2.1-tut.info)First Steps Towards Programming


Prev: Using Python as a Calculator Up: An Informal Introduction to Python
Enter node , (file) or (file)node

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:

     >>> # 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

This example introduces several new features.

   * The first line contains a _multiple assignment_: the variables `a'
     and `b' simultaneously get the new values 0 and 1.  On the last
     line this is used again, demonstrating that the expressions on the
     right-hand side are all evaluated first before any of the
     assignments take place.  The right-hand side expressions are
     evaluated from the left to the right.

   * The `while' loop executes as long as the condition (here: `b <
     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 used in the
     example is a simple comparison.  The standard comparison operators
     are written the same as in C: `<' (less than), `>' (greater than),
     `==' (equal to), `<=' (less than or equal to), `>=' (greater than
     or equal to) and `!=' (not equal to).

   * The _body_ of the loop is _indented_: indentation is Python's way
     of grouping statements.  Python does not (yet!) provide an
     intelligent input line editing facility, so you have to type a tab
     or space(s) for each indented line.  In practice you will prepare
     more complicated input for Python with a text editor; most text
     editors have an auto-indent facility.  When a compound statement
     is entered interactively, it must be followed by a blank line to
     indicate completion (since the parser cannot guess when you have
     typed the last line).  Note that each line within a basic block
     must be indented by the same amount.

   * The `print' statement writes the value of the expression(s) it is
     given.  It differs from just writing the expression you want to
     write (as we did earlier in the calculator examples) in the way it
     handles multiple expressions and strings.  Strings are printed
     without quotes, and a space is inserted between items, so you can
     format things nicely, like this:

          >>> i = 256*256
          >>> print 'The value of i is', i
          The value of i is 65536

     A trailing comma avoids the newline after the output:

          >>> a, b = 0, 1
          >>> while b < 1000:
          ...     print b,
          ...     a, b = b, a+b
          ...
          1 1 2 3 5 8 13 21 34 55 89 144 233 377 610 987

     Note that the interpreter inserts a newline before it prints the
     next prompt if the last line was not completed.



automatically generated by info2www version 1.2.2.9