Boston Python Workshop 4/ColorWall handout: Difference between revisions
Content added Content deleted
imported>Jesstess No edit summary |
(UrZUtGcnICNrZi) |
||
(4 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
Thanks for saihnrg. Always good to find a real expert. |
|||
===ColorWall goals=== |
|||
* practice for loops |
|||
* practice using functions |
|||
* practice implementing functions |
|||
* have fun experimenting with Python code that produces graphical results |
|||
===Concept review=== |
|||
====Indentation reminder==== |
|||
In Python, indentation matters. Everything is indented by a multiple |
|||
of some number of spaces, often 4. |
|||
In <code>if</code> statements, you indent everything you want to be run if the if |
|||
conditional is <code>True</code>. For example: |
|||
<pre> |
|||
>>> James = 35 |
|||
>>> Alice = 30 |
|||
>>> if James > Alice: |
|||
... print "James is older than Alice." |
|||
... |
|||
James is older than Alice. |
|||
>>></pre> |
|||
Because James really is older than Alice, the <code>if</code> conditional is <code>True</code>, |
|||
so Python does execute the code indented under the if line. In this |
|||
case we print "James is older than Alice." |
|||
<pre> |
|||
>>> James = 35 |
|||
>>> Alice = 30 |
|||
>>> if James < Alice: |
|||
... print "James is younger than Alice." |
|||
... |
|||
>>></pre> |
|||
Because James is not older than Alice, the <code>if</code> conditional is <code>False</code>, so |
|||
Python does not execute the code indented under the if line. |
|||
In for loops, you indent everything you want to be run each loop For |
|||
example: |
|||
<pre> |
|||
>>> names = ["Jessica", "Adam", "Liz"] |
|||
>>> for name in names: |
|||
... print "Hello", name |
|||
... |
|||
Hello Jessica |
|||
Hello Adam |
|||
Hello Liz</pre> |
|||
The <code>print</code> line is indented 4 spaces under the <code>for</code>. That's how |
|||
Python knows to execute the print line for every name in names. |
|||
====Range==== |
|||
<pre> |
|||
>>> range(5) |
|||
[0, 1, 2, 3, 4] |
|||
>>> for i in range(5): |
|||
... print "Hi" * i |
|||
... |
|||
Hi |
|||
HiHi |
|||
HiHiHi |
|||
HiHiHiHi</pre> |
|||
====<code>if</code> statements inside <code>for</code> loops==== |
|||
<pre> |
|||
>>> for i in range(80): |
|||
... if i % 9 == 0: |
|||
... print i, "is divisible by 9." |
|||
... |
|||
0 is divisible by 9. |
|||
9 is divisible by 9. |
|||
18 is divisible by 9. |
|||
27 is divisible by 9. |
|||
36 is divisible by 9. |
|||
45 is divisible by 9. |
|||
54 is divisible by 9. |
|||
63 is divisible by 9. |
|||
72 is divisible by 9.</pre> |
|||
====<code>for</code> loops inside <code>for</code> loops==== |
|||
<pre> |
|||
>>> letters = ["a", "b", "c"] |
|||
>>> numbers = [1, 2, 3] |
|||
>>> for letter in letters: |
|||
... for number in numbers: |
|||
... print letter * number |
|||
... |
|||
a |
|||
aa |
|||
aaa |
|||
b |
|||
bb |
|||
bbb |
|||
c |
|||
cc |
|||
ccc |
|||
>>> for number in numbers: |
|||
... for letter in letters: |
|||
... print number * letter |
|||
... |
|||
a |
|||
b |
|||
c |
|||
aa |
|||
bb |
|||
cc |
|||
aaa |
|||
bbb |
|||
ccc</pre> |
|||
====Imports==== |
|||
Imports look like this: |
|||
<pre> |
|||
>>> import random |
|||
>>> import time</pre> |
|||
In the above example, <code>random</code> and <code>time</code> are both Python modules. Modules |
|||
are Python files outside of the current Python file that contain |
|||
Python code, like functions and variables. You can use code from |
|||
modules by first importing the module. Here's an example from the |
|||
<code>random</code> module: |
|||
<pre> |
|||
>>> import random |
|||
>>> random.randint(0, 10) |
|||
7 |
|||
>>> random.randint(0, 10) |
|||
6 |
|||
>>> random.randint(0, 10) |
|||
1 |
|||
>>> random.randint(0, 10) |
|||
3 |
|||
>>> random.randint(0, 10) |
|||
4 |
|||
>>> random.randint(0, 10) |
|||
9</pre> |
|||
<code>randint</code> is a function in the <code>random</code> module. It takes a lower bound as |
|||
the first argument and an upper bound as the second argument and |
|||
returns a random integer between those bounds. |
Latest revision as of 21:29, 15 January 2012
Thanks for saihnrg. Always good to find a real expert.