Editing Community Data Science Workshops (Spring 2015)/Day 0 tutorial
From CommunityData
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 36: | Line 36: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
===Division=== | ===Division=== | ||
<syntaxhighlight lang="python"> | <syntaxhighlight lang="python"> | ||
4 / 2 | |||
1 / 2 | 1 / 2 | ||
</syntaxhighlight> | |||
Hey now! That last result is probably not what you expected. What's going on here is that integer divison produces an integer. You need a number that knows about the decimal point to get a decimal out of division: | |||
<syntaxhighlight lang="python"> | |||
1.0 / 2 | |||
</syntaxhighlight> | |||
This means you have to be careful when manipulating fractions. If you were doing some baking and needed to add 3/4 of a cup of flour and 1/4 of a cup of flour, we know in our heads that 3/4 + 1/4 = 1 cup. But try that at the Python prompt: | |||
<syntaxhighlight lang="python"> | |||
3/4 + 1/4 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
What do you need to do to get the right answer? Use data types that understand decimals for each of the divisions: | |||
<syntaxhighlight lang="python"> | <syntaxhighlight lang="python"> | ||
4 / | 3.0/4 + 1.0/4 | ||
3.0/4.0 + 1.0/4.0 | |||
</syntaxhighlight> | </syntaxhighlight> | ||
The two previous expressions produce the same result. You only need to make one of the numbers in each fraction have a decimal. When the Python interpreter goes to do the division, it notices that one of the numbers in the fraction cares about decimals and says "that means I have to make the other number care about decimals too". | |||
When the Python interpreter goes to do the division, it | |||
==Types== | ==Types== | ||
Line 337: | Line 332: | ||
<ol> | <ol> | ||
<li>Download the file http://mako.cc/teaching/ | <li>Download the file http://mako.cc/teaching/2014/cdsw/nobel.py by right-clicking on it and saying to save it as a ".py" file to your Desktop. The ".py" extension hints that this is a Python script.</li> | ||
<li>Open a terminal prompt, and use the navigation commands (<code>dir</code> and <code>cd</code> on Windows, <code>ls</code>, <code>pwd</code>, and <code>cd</code> on OS X and Linux) to navigate to your Desktop directory. See [[ | <li>Open a terminal prompt, and use the navigation commands (<code>dir</code> and <code>cd</code> on Windows, <code>ls</code>, <code>pwd</code>, and <code>cd</code> on OS X and Linux) to navigate to your Desktop directory. See [[Community Data Science Workshops (Fall 2014)/Day 0 setup and tutorial#Goal_.234:_practice_navigating_the_computer_from_a_terminal|navigating from a terminal]] for a refresher on those commands.</li> | ||
<li>Once you are in your Desktop directory, execute the contents of <code>nobel.py</code> by typing | <li>Once you are in your Desktop directory, execute the contents of <code>nobel.py</code> by typing | ||
Line 347: | Line 342: | ||
<code>nobel.py</code> introduces two new concepts: comments and multiline strings.</li> | <code>nobel.py</code> introduces two new concepts: comments and multiline strings.</li> | ||
<li>Open <code>nobel.py</code> in your text editor (see [[ | <li>Open <code>nobel.py</code> in your text editor (see [[Community Data Science Workshops (Fall 2014)/Day 0 setup and tutorial#Goal_.232:_prepare_a_text_editor|preparing your text editor]] for a refresher on starting the editor).</li> | ||
<li>Read through the file in your text editor carefully and check your understanding of both the comments and the code.</li> | <li>Read through the file in your text editor carefully and check your understanding of both the comments and the code.</li> | ||
</ol> | </ol> | ||
Line 572: | Line 567: | ||
Take a break, stretch, meet some neighbors, and ask the staff if you have any questions about this material. | Take a break, stretch, meet some neighbors, and ask the staff if you have any questions about this material. | ||