Shakespeare: Difference between revisions

imported>Zanwenhuahao
imported>Ynasser
 
(16 intermediate revisions by 2 users not shown)
Line 5:
==Setup==
 
# Download https://csclub.uwaterloo.ca/~ehashman/pwfb/ShakespearePlay.zip
We'll need additional setup here.
# Extract the contents of the folder, as per [https://openhatch.org/wiki/Python_Workshops_for_Beginners/Friday_September_26th_setup_and_tutorial#Goal_.236:_Download_the_Saturday_projects Goal 6] yesterday
# Change directory to inside the folder, for instance:
<pre>cd Downloads/ShakespearePlay</pre>
# Open up the python shell and import some modules:
<pre>
from RomeoJuliet import RomeoJuliet
from summerNight import SummerNight
from summerChar import SummerChar
</pre>
 
==Goals==
Line 63 ⟶ 72:
=====<font color="navy">Using the word "love"</font>=====
* We will use the play <b> Romeo and Juliet </b>
1. MakeCreate a pythonfile program, call itnamed <code> Rom_Juli.py</code> save it under the same directory as where you've saved the ShakespeareanShakespeare texts.
 
2. Import RomeoJuliet
 
3. The variable RomeoJuliet is the play - don't out putoutput it, as it's too long. It's in a list.
 
4. Now create a variable that represents the string "love", for example:
Line 77 ⟶ 86:
>>> lv_counter = 0;
</pre>
6. Use a for loop (or while loop, if you like) to read through the lines of the file. While you are reading each line, count the number of lines that contains the word "love"
 
7. Does Shakespeare use a lot of love in his plays? How about other synonyms of "love"?
Line 83 ⟶ 92:
 
====Lists====
* Recall that lists in Python can contain <b>arbitrarymultiple objectskinds of items (numbers, strings, etc.)</b> and <b>dynamically expand</b> as new things "arrive"are added.
* We may declare our list as such
<pre>
Line 115 ⟶ 124:
 
====Dictionaries====
* Dictionaries are another data structure commonly used in programming. Dictionaries (think of dictionary in real life) storesstore what we call <b> key-value pairs</b> (kind of like dictionaries in real life). One common thing to do with dictionary is determine an entry's value given its key.
* Entries in the dictionary are stored <b> orderlesswithout order </b> (i.e. no way to arrange storage position according to value)
* <b>keys</b> for each entry in the dictionary must be unique, <b> values </b> do not have to be unique.
* For our simplicity, we will use a string as keys.
Line 129 ⟶ 138:
</pre>
 
* The following basic operations workswork with entries in a dictionary (remove an entry, add an entry, check if a key is in the dictionary, print the value corresponding to a given key):
<pre>
>>> del myDict["Interesting"]
Line 142 ⟶ 151:
1
</pre>
For more information on the dictionary data type: https://docs.python.org/2/tutorial/datastructures.html#dictionaries
 
====<font color="navy">Lists and Dictionaries Exercises====
<b>List & Iteration Exercise 1:</b>
* Create a new python programfile.
* Import the list of characters from <b> A Midsummer Night's Dream </b> by importing <code>summerChar</code> and import the play <code>summerNight</code>
 
<pre>
>>> summerChar.SummerChar
# prints all the characters (such as <HELENA>) that are in the play A Midsummer Night's Dream.
</pre>
 
<b>List & Iteration Exercise 2:</b>
* In the same programfile that you created fromin exercisethe 1previous (or start a new file, but don't forget to importexercise:
* Count how many times has <b> <OBERON> </b>has spokespoken.
* Print to screen the name <b><OBERON></b> and the number of times he spoke.
 
<b>Demo: Which of Shakespeare's famous tragic heros talks the most?</b>
Anonymous user