Boston Python Workshop 8/Friday/Tutorial: Difference between revisions

imported>Jesstess
 
(11 intermediate revisions by 2 users not shown)
Line 281:
fish = "humuhumunukunukuapuaʻa"
name_length = len(fish)
fish + " is a Hawaiian fish whose name is " + str(name_length) + " characters long.")
</pre>
 
Line 504:
 
==Making choices==
 
We can use these expressions that <i>evaluate</i> to booleans to make decisions and conditionally execute code:.
 
[[File:Fork.png|100px]]
Line 509 ⟶ 511:
====if statements====
 
The simplest way to make a choice in Python is with the <code>if</code> keyword. Here's an example (don't try to type this one, just look at it for now):
We can use these expressions that <i>evaluate</i> to booleans to make decisions and conditionally execute code:
 
&nbsp;&nbsp;&nbsp;&nbsp;<code>if 6 > 5:</code><br />
<pre>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code> print("Six is greater than five!")</code>
if 6 > 5:
print("Six is greater than five!")
</pre>
 
That wasis our first multi-line piece of code, and the way to entertype it at a Python prompt is a little different. First,Let's break down how to do this (type thethis out step by step):
 
<ol>
<code> if 6 > 5:</code>
<li>First, type the<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp;<code>if 6 > 5:</code><br />
<br />
part, and press Enter. The next line will have <code>...</code> as a prompt, instead of the usual <code>&gt;&gt;&gt;</code>. This is Python telling us that we are in the middle of a <b>code block</b>, and so long as we indent our code it should be a part of this code block.</li>
 
<li>Press the spacebar 4 times to indent.</li>
part, and press Enter. The next line will have
<li>Type<br />
 
<br />
<code> ...</code>
&nbsp;&nbsp;&nbsp;&nbsp;<code>print("Six is greater than five!")</code><br /><br /></li>
 
<li>Press Enter to end the line. The prompt will still be a <code>...</code></li>
as a prompt, instead of the usual <code>&gt;&gt;&gt;</code>. This is Python telling us that we are in the middle of a <b>code block</b>, and so long as we indent our code it should be a part of this code block.
<li>Press Enter one more time to tell Python you are done with this code block. The code block will now execute.</li>
 
</preol>
Enter 4 spaces, and then type
 
<code> print("Six is greater than five!")</code>
 
Press Enter to end the line, and press Enter again to tell Python you are done with this code block. All together, it will look like this:
 
<pre>
Line 555 ⟶ 558:
====more choices: <code>if</code> and <code>else</code>====
 
You can use the <b><code>elseif</code></b> keywordlets toyou execute some code whenonly theif a condition is <code>ifTrue</code>. expressionWhat isn'tif True.you Trywant this:to execute different code if a condition is <code>False</code>?
 
Use the <b><code>else</code></b> keyword, together with <code>if</code>, to execute different code when the <code>if</code> condition isn't <code>True</code>. Try this:
 
<pre>
Line 566 ⟶ 571:
</pre>
 
Like with <code>if</code>, the code block under the <code>else</code> statementcondition must be indented so Python knows that it is a part of the <code>else</code> block.
 
====compound conditionals: <code>and</code> and <code>or</code>====
 
You can check multiple expressions together using the <b><code>and</code></b> and <b><code>or</code></b> keywords. If two expressions are joined by an <code>and</code>, they <b>both</b> have to be <code>True</code> for the overall expression to be <code>True</code>. If two expressions are joined by an <code>or</code>, as long as <b>at least one</b> is <code>True</code>, the overall expression is <code>True</code>.
 
Try typing these out and see what you get:
Line 614 ⟶ 619:
====even more choices: <code>elif</code>====
 
If you haveneed to execute code conditional based on more than two cases, you can use the <b><code>elif</code></b> keyword to check more cases. You can have as many <code>elif</code> cases as you want; Python will go down the code checking each <code>elif</code> until it finds a <code>True</code> condition or reaches the default <code>else</code> block.
 
<pre>
Line 627 ⟶ 632:
</pre>
 
You don't have to have an <code>else</code> block, if you don't need it. That just means there isn't default code to execute when none of the <code>if</code> or <code>elif</code> conditions are <code>True</code>:
 
<pre>
Anonymous user