1
h06
CCS CS20 S18
Name:
(as it would appear on official course roster)
Umail address: @umail.ucsb.edu
Optional: name you wish to be called
if different from name above.
Optional: name of "homework buddy"
(leaving this blank signifies "I worked alone"

h06: Perkovic 4.1-4.2 (Strings, Formatting)

ready? assigned due points
true Tue 04/17 12:30PM Tue 04/24 12:00PM

You may collaborate on this homework with AT MOST one person, an optional "homework buddy".

This assignment should be submitted by scanning the pages in the correct order to a PDF file and uploading to gradescope.com.

For more information, visit ucsb-cs8.github.io and look for Gradescope: Student Self Submission under "topics".

Even though it is a Gradescope submission, nevertheless, *please fill in the information at the top of this homework sheet*, including your name and umail address.


READING ASSIGNMENT

Please read Perkovic 4.1-4.2 (Strings, Formatting). Then complete these problems.

  1. (10 pts) These 10 points are for filling in your name at the top of the sheet, and scanning correctly on Gradescope. (Having these here gives me a place to give you feedback if there is some glitch with the way you are doing it.)

  2. Section 4.1 discusses indexing and slicing of strings, as well as some methods (functions) that can be invoked on strings.

    Assume that the following assignment statements have been executed.

    fname="Chris"
    lname="Gaucho"
    schools=["UCSB","Stanford","UCSD","Cal Poly"]
    

    What will each of the expressions below evaluate to?

    Points Expression Result Points Expression Result
    (5 pts) fname[0]   (5 pts) lname[:2]  
    (5 pts) lname[0:2]   (5 pts) lname[-3:]  
    (5 pts) schools[0]   (5 pts) schools[1:]  
    (5 pts) schools[0:2]   (5 pts) fname.find('h')  
    (5 pts) schools[0][0]   (5 pts) lname.find('ch')  
    (5 pts) schools[0][0:2]   (5 pts) lname.replace('cho','di')  
  3. (5 pts) In Python, how do we define a string that consists of more than one line of text?

  4. (5 pts) For the Python code in the left box, write the output in the right box

    the_list = ["8","16","24","32"]
    for course in the_list:
       print(course, end="|")
    
  5. When you import the module time, the function time.time() gives “seconds since the epoch”, while time.gmtime gives a representation of the time in UTC.

    1. (5 pts) What is “the epoch”?

    2. (5 pts) What is UTC?

    3. (5 pts) If you want the local time instead of UTC, what function of the time module do you call instead of time.gmtime()?

  6. (5 pts) As shown on p. 106, if you enter import time at the >>> prompt, then enter the following:

    >>> time.strftime('%A %b/%d/%y %I:%M %p', time.localtime())
    

    the resulting output is the current date and time in the format:

    Monday Aug/14/17 11:59 AM
    

    Using the table of values on p. 107 as a reference, how would you change the call to strftime above to get the date in this format:

    August 14, 2017