Exercise #1 - Manipulating Strings
Exercise #1 - Manipulating Strings
Exercise #1 - Manipulating Strings
The method modifies the returned value of the text, but not the actual text in the object itself.
Type the object’s name (in this case, ‘string’) into the Python Shell to see that the object was not
changed.
>>> string
'This is my string of text.'
If we wanted to reassign ‘string’ to have the modified value, we would need to reassign the
object the new value. Let’s use another string method, .title() to change ‘string’ to title case.
>>> string = string.title()
>>> string
'This Is My String Of Text.'
In addition to modifying the contents of a string object, string methods can provide information
about the string. The .isupper() method returns a value of True or False depending on whether or
not the string is composed entirely of upper case letters.
>>> string.isupper()
False
>>> string = string.upper()
>>> string.isupper()
True
The len(object) function will return the length of the object passed to it as an argument. For
strings, len() will return the number of characters in the string.
>>> len(string)
26
Exercise #2 – Manipulating Lists
Let’s start with an empty list. Create an empty list in IDLE. The len() function can be used on
lists as well as strings.
>>> list = []
>>> len(list)
0
Python will not allow us to add an item by setting a value to a new index. We need to explicitly
append a new item to the end of the list.
>>> list.append('my item')
>>> list[0]
'my item'
Once the space in the list has been added, we can modify what is in that space.
>>> list[0] ='something else'
>>> list[0]
'something else'
Let’s add an item at a specific location. To insert a new value in the second space, we’ll use the
insert function.
>>> list.insert(1, 'inserted item')
>>> list
['something else', 'inserted item', 'item 2']
Remember, Python (and most programming languages) use 0 as the start of the list, so second
place would be index ‘1’ in our list.
Python allows us to quickly find if a value exists within the list. We can use ‘in’ to determine if
something is in a list or not. Once we know it exists, we can determine the index number of the
item, using the index function. Requesting an index for an item that does not exist in the list
causes a hard error, which is Python’s way of forcing you to keep tabs on your data.
>>> list.index('item 2')
2
>>> list.index('foo')
Traceback (most recent call last):
File "<pyshell#45>", line 1, in <module>
list.index('foo')
ValueError: list.index(x): x not in list
Note that IDLE will indent the next line for you when it sees that you end a line with a colon.
The indentation is nested; the if and else blocks are double indented as they are part of the for
loop.
Python’s print command is used to explicitly print a line of text to the output. You can print
multiple strings as one line by separating the strings with commas.
Let’s change the loop to check for two specific fruits, ‘apple’ and ‘grape’, and print a generic
message for all other values.
for item in list:
if item == “apple”:
print “Apples are great!”
elif item == “orange”:
print “Oranges are another great fruit.”
else:
print item.title(), “? I don’t care for them.”
Exercise #4 – Manipulating Files and Directories using the os Module
You will create a Python script that will search a predetermined directory and list the items
within, separating the files and directories into two lists that will be printed to the screen.
Load the os module. You’ll need to acquaint yourself with a few of the functions the os module
provides.
The os.path.join(directory, file) function returns a string that properly joins the directory with
the filename to create a complete path. This is necessary because the path separator is
different on different operating systems (“\” on Windows, “/” on Mac, Linux, etc.)
The os.listdir() function takes one argument, a directory on the hard disk, and returns a list
of files that reside in the directory.
os.path.isfile(file) tests to see if the file passed to it is actually a file. If the file either does
not exist or is a directory, os.path.isfile() returns False.
Using what you learned in the previous examples, create a for loop that will iterate over the
directory contents list created by os.listdir() and print only the items in the directory that are files.
Use C:\Students as the directory for os.listdir().
Exercise #5 – Rock Paper Scissors
You will create a Python script to play Rock, Paper, Scissors against. The simple script will
randomly return one of the following results when run; “Rock”, “Paper” or “Scissors”.
You will need to import the random module to generate the random choice. After importing the
random module, you will use the “randint” function to return a value between 0 and 2.
random.randint(0, 2)
Before you start writing, consider:
How will you store the Rock, Paper, and Scissor values to print?
How will you use the results from random.randint(0, 2) to determine which value to
print?
Why do you think your random range should be between 0 and 2? What is the
significance of starting at 0?