UNIVERSITY OF TORONTO Faculty of Arts and Science APRIL 2014 EXAMINATIONS. CSC 108 H1S Instructors: Campbell and Papadopoulou.

Similar documents
CSC148 Fall 2017 Ramp Up Session Reference

PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science

Question 1. Part (a) Part (b) December 2013 Final Examination Marking Scheme CSC 108 H1F. [13 marks] [4 marks] Consider this program:

PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science

PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science

PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science

Student Number: Comments are not required except where indicated, although they may help us mark your answers.

UNIVERSITY OF TORONTO SCARBOROUGH. December 2017 EXAMINATIONS. CSCA20H3 Duration 3 hours. Examination Aids: Instructor: Bretscher

PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science

UNIVERSITY OF TORONTO SCARBOROUGH. Wnter 2016 EXAMINATIONS. CSC A20H Duration 2 hours 45 mins. No Aids Allowed

Do not turn this page until you have received the signal to start. In the meantime, please read the instructions below carefully.

PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science

UTORid: Lecture Section: (circle one): L0101 (MWF10) L0201 (MWF11) Instructor: Jacqueline Smith Jen Campbell

PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science

Student Number: Comments are not required except where indicated, although they may help us mark your answers.

PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science

Student Number: Instructor: Brian Harrington

UNIVERSITY OF TORONTO Faculty of Arts and Science DECEMBER 2017 EXAMINATIONS. CSC 108 H1F Instructor(s): Campbell, Fairgrieve, and Smith

PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science

Do not turn this page until you have received the signal to start.

CSC A20H3 S 2011 Test 1 Duration 90 minutes Aids allowed: none. Student Number:

Question 1. Part (a) Part (b) Part (c) April 2015 Final Examination Solutions CSC 108 H1S. [16 marks] [3 marks]

Question 1. December 2009 Final Examination Marking Scheme CSC 108 H1F

Do not turn this page until you have received the signal to start.

Short Python function/method descriptions:

Do not turn this page until you have received the signal to start.

Good Luck! CSC207, Fall 2012: Quiz 1 Duration 25 minutes Aids allowed: none. Student Number:

Do not turn this page until you have received the signal to start.

Short Python function/method descriptions:

Strings are actually 'objects' Strings

UNIVERSITY OF TORONTO SCARBOROUGH. Fall 2015 EXAMINATIONS. CSC A20H Duration 3 hours. No Aids Allowed

CSC 108H1 F 2009 Test 1 Duration 35 minutes Aids allowed: none. Student Number:

Do not turn this page until you have received the signal to start. In the meantime, please read the instructions below carefully.

PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science

PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science

Chapter 1 Summary. Chapter 2 Summary. end of a string, in which case the string can span multiple lines.

CSC 108H1 F 2010 Test 1 Duration 45 minutes Aids allowed: none. Student Number:

CIS192: Python Programming Data Types & Comprehensions Harry Smith University of Pennsylvania September 6, 2017 Harry Smith (University of Pennsylvani

Python Programming: Lecture 2 Data Types

CIS192 Python Programming

ICS 31 UC IRVINE. ############## YOUR UCINET #### K E Y #### ############## Second Midterm YOUR NAME YOUR STUDENT ID (8 DIGITS)

You may not share any information or materials with classmates during the exam and you may not use any electronic devices.

Do not turn this page until you have received the signal to start. In the meantime, please read the instructions below carefully.

Lecture no

CS 1301 Exam 1 Fall 2010

Python: Short Overview and Recap

CPD for GCSE Computing: Practical Sheet 6 February 14

Python review. 1 Python basics. References. CS 234 Naomi Nishimura

The Big Python Guide

CS150 - Sample Final

CSC148 Recipe for Designing Classes

PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science

CS 1110 Prelim 2 November 14th, 2013

CIS192 Python Programming

\n is used in a string to indicate the newline character. An expression produces data. The simplest expression

CIS192 Python Programming

CIS192 Python Programming

CS 1301 Exam 2 Fall 2010

Question 1. Part (a) Functions [2 marks] def make_a_wish(): print("happy Halloween") make_a_wish() Part (b) Loops and Lists [3 marks]

UNIVERSITY OF TORONTO Faculty of Arts and Science

Babu Madhav Institute of Information Technology, UTU 2015

CS150 Sample Final. Name: Section: A / B

MULTIPLE CHOICE. Chapter Seven

CS 1301 Exam 1 Fall 2010

Introduction to String Manipulation

CIS192 Python Programming

Decorate, sort, undecorate pattern

School of Computer Science Introduction to Algorithms and Programming Winter Midterm Examination # 1 Wednesday, February 11, 2015

CS 1110 Prelim 2 April 21, 2015

Strings. Upsorn Praphamontripong. Note: for reference when we practice loop. We ll discuss Strings in detail after Spring break

Question 1. CSC 120H1 F Midterm Test Solutions Fall 2017

Sequences and iteration in Python

CS 111X - Fall Test 1

Python I. Some material adapted from Upenn cmpe391 slides and other sources

Overview of List Syntax

Spring 2017 CS 1110/1111 Exam 1

Scripting Languages. Python basics

>>> print( X ) [0,1,2,3] def mystery(l):??

List Mutation (Module 4) Accumulative Recursion (Module 5) Efficiency (Module 7) Searching & Sorting (Module 8) Dictionaries (Module 9)

Python Tutorial. Day 1

CS 1110 Prelim 2 April 26th, 2016

CS 2316 Exam 1 Spring 2014

CS112 Spring 2012 Dr. Kinga Dobolyi. Exam 2. Do not open this exam until you are told. Read these instructions:

EXAMINATION REGULATIONS and REFERENCE MATERIAL for ENCM 339 Fall 2017 Section 01 Final Examination

Interactive use. $ python. >>> print 'Hello, world!' Hello, world! >>> 3 $ Ctrl-D

Abstract Data Types. CS 234, Fall Types, Data Types Abstraction Abstract Data Types Preconditions, Postconditions ADT Examples

CS 303E Fall 2011 Exam 2 Solutions and Criteria November 2, Good Luck!

You submitted this homework on Tue 17 Sep :31 PM EET (UTC +0200). You got a score of out of

CSE 160 Spring 2018: Final Exam

CS150 Sample Final Solution

CS 1110 Prelim 1 October 15th, 2015

CPE 112 Spring 2015 Exam II (100 pts) March 4, Definition Matching (8 Points)

CS2304: Python for Java Programmers. CS2304: Sequences and Collections

Data Science Python. Anaconda. Python 3.x. Includes ALL major Python data science packages. Sci-kit learn. Pandas.

Variable and Data Type I

Question 0. Do not turn this page until you have received the signal to start.

Python allows variables to hold string values, just like any other type (Boolean, int, float). So, the following assignment statements are valid:

String Processing CS 1111 Introduction to Programming Fall 2018

Data Structures. Dictionaries - stores a series of unsorted key/value pairs that are indexed using the keys and return the value.

PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science

Transcription:

PLEASE HAND IN UNIVERSITY OF TORONTO Faculty of Arts and Science APRIL 2014 EXAMINATIONS CSC 108 H1S Instructors: Campbell and Papadopoulou Duration 3 hours PLEASE HAND IN Examination Aids: None Student Number: Family Name(s): Given Name(s): Do not turn this page until you have received the signal to start. In the meantime, please read the instructions below carefully. You must get 40% or above on this exam to pass the course (at least 34 out of 85); otherwise, your final course grade will be no higher than 47. This final examination paper consists of 12 questions on 23 pages (including this one). When you receive the signal to start, please make sure that your copy of the final examination is complete. Comments and docstrings are not required except where indicated, although they may help us mark your answers. You do not need to put import statements in your answers. No error checking is required: assume all user input and all argument values are valid. You may not use break or continue on this exam. If you use any space for rough work, indicate clearly what you want marked. # 1: / 7 # 2: / 5 # 3: / 5 # 4: / 4 # 5: / 7 # 6: / 6 # 7: /11 # 8: / 6 # 9: / 9 # 10: / 5 # 11: / 5 # 12: /15 TOTAL: /85 Page 1 of 23 Good Luck! cont d...

Question 1. Part (a) [3 marks] Consider this program: L = [4, 10, 8] x = L.sort() L.append(20) L2 = L[1:] [7 marks] Fill in the Python Shell output after this program has executed. >>> x >>> L >>> id(l) == id(l2) Part (b) [4 marks] Consider this program in file words.py: def repeat_word(word, num_times): (str, int) -> str Write what this program prints when you run it. Write one line per box. There are more boxes than you need; leave unused ones blank. print( name ) word = word * num_times print('repeated word is:', word) return word if name == ' main ': word = 'Yes' print('original word is:', word) repeat_word(word, 3) print('new word is:', word) word = repeat_word(word, 2) + '!' print('new word is:', word) Page 2 of 23 cont d...

Question 2. [5 marks] Your instructor was in a hurry when typing the following expressions, so unfortunately they will all result in an error and will not be evaluated. Explain the errors in the table below. Expression ["Hello", "there!"].split() Briefly explain the error "April" + 16 ["Temperature", " is "].extend(10) degrees_to_season = {[25] : "summer", [-15] : "winter"} word = "computer" word[8] Page 3 of 23 Student #: cont d...

Question 3. [5 marks] def return_mix(num, word): (int, str) -> object Precondition: word contains at least 3 characters. if word[2] == 'r': return 2 * num elif num > 10: return (word + word) elif word[1:3] == "ab": return (2 == 3) Write the return value and type for each of the following function calls: Function Call Return Value Return Type return_mix(5, "Canada") return_mix(12, "Toronto") return_mix(16, "Canada") return_mix(-2, "cabinet") return_mix(11, return_mix(11, "Can")) Page 4 of 23 cont d...

Question 4. [4 marks] You decide to save all your passwords in files, one password per file. You then decide you want to update your 6-character UTORid password, but you don t remember which of your password files you saved it in. Luckily, this is the only 6-character password you have so you decide to write a function to find the password and change it. Your code runs, but the function s body contains four bugs which will result in the function execution not matching its docstring description. In the space provided, rewrite the buggy lines with the bugs fixed. Do not add or remove any lines. def change_password(files_list, new_password): (list of str, str) -> str Preconditions: (1) files_list is not empty. (2) Each file in files_list contains one single-line password. (3) All files in files_list contain passwords of different lengths. (4) Your 6-character password is guaranteed to be in one of these files. In the appropriate file from files_list, replace your 6-character password with new_password, and return your old password. #Code found = True for filename in files_list[:-1]: passwd_file = open(filename, 'r') first_line = passwd_file.read() password = first_line.strip("2") if password == 6: passwd_file.close() passwd_file = open(filename, 'w') passwd_file.write(new_password) found = True passwd_file.close() if found: # This is correct. Do not modify. return password If you think a given line contains a bug, rewrite it. Otherwise leave it blank. Page 5 of 23 Student #: cont d...

Question 5. Part (a) [7 marks] [6 marks] Write the body of the following function according to its docstring description. def numeric_phone(alphanumeric_phone, mapping): (str, list of str) -> int Preconditions: - len(mapping) <= 10 - alphanumeric_phone contains only digits and uppercase letters - each letter in alphanumeric_phone is guaranteed to appear in mapping once - mapping may contain letters not in alphanumeric_phone Return a numeric phone number that corresponds to alphanumeric_phone. Each letter from alphanumeric_phone is replaced with the index of the item from mapping that contains the letter. Digits are not replaced. >>> numeric_phone('416310bell', ['ABC', 'DEF', 'GHI', 'JKL', 'NO', 'PQRS', 'TUV', 'WXYZ']) 4163100133 Part (b) [1 mark] Instead of representing the mapping as a list of str, representing it as which of the following types would make implementing this function easier? (circle one) (a) list of list of str (b) dict of {int: str} (c) dict of {str: int} Page 6 of 23 cont d...

Question 6. [6 marks] Two friends like to send messages to each other, but they don t want anyone else to read the messages. To keep the messages private, they change each letter in the original message to a different letter of the alphabet. For every letter, they both know which letter will be substituted for it, which is called an encoding. The message will contain only lowercase letters. It will not contain whitespace, digits, or punctuation. The receiver of a secret message doesn t want to convert it back to the original message by hand. Instead, that person asks you to write a function to do it. Following the function design recipe, define a function that given a secret message and the encoding used, returns the original message. Choose a meaningful function name, and add a docstring that includes the type contract, the description, and two examples that return different values. You must choose the types to use to represent the data, and you will be marked not only on the correctness of the function, but also on your choice of data structures. Page 7 of 23 Student #: cont d...

Question 7. [11 marks] This question has you write the bodies of two functions. Complete each function according to its docstring. Part (a) [6 marks] Note: you will most likely not need all of the space on this page. def count_letter_case(l): (list of list of str) -> list of tuple of int Precondition: each str in L is non-empty and contains only alphabetic characters Count the number of words in each sublist of L that start with lowercase and uppercase letters. Return a new list where each element is a two-item tuple in which the first item is the number of words in the list at the corresponding index of L that start with a lowercase letter and the second item is the number of words in the list at the corresponding index of L that start with an uppercase letter. >>> count_letter_case([['apple', 'Banana'], ['PEAR'], [], ['PEACH', 'apricot', 'plum']]) [(1, 1), (0, 1), (0, 0), (2, 1)] Page 8 of 23 cont d...

Part (b) [3 marks] Complete the function body according to its docstring description. You will be marked only on the parts that need to be different from (a). def count_letter_case_mutate(l): (list of list of str) -> NoneType Precondition: each str in L is non-empty and contains only alphabetic characters Replace each item in L with a two-item tuple in which the first item is the number of words in the list at the corresponding index of L that start with a lowercase letter and the second item is the number of words in the list at the corresponding index of L that start with an uppercase letter >>> data = [['apple', 'Banana'], ['PeAr'], [], ['PEACH', 'apricot', 'plum']] >>> count_letter_case_mutate(data) >>> data [(1, 1), (0, 1), (0, 0), (2, 1)] Part (c) [2 marks] You almost certainly have duplicate code between your two functions. Write a helper function that you could have used to eliminate that duplicate code. Do not rewrite your functions for parts (a) and (b). It is not necessary to write a docstring. Page 9 of 23 Student #: cont d...

Question 8. [6 marks] Consider this code: def sort_guesses(guess_list, answer): (list of float, float) -> dict of {str: list of float} Return a new dictionary where each item in guess_list appears as an item in one of the dictionary's values lists: - each item less than answer is in a list associated with key 'low', - each item equal to answer is in a list associated with key 'correct', and - each item greater than answer is in a list associated with key 'high'. If there are no items associated with one of 'low', 'correct', or 'high', then that string should not appear as a key in the new dictionary. In the table below, we have outlined two test cases for sort_guesses. Add six more test cases chosen to test the function thoroughly. Test Case Description guess list answer Return Value no guesses [] 5.5 {} one low guess [4.7] 6.0 {'low': [4.7]} Page 10 of 23 cont d...

Question 9. [9 marks] Write the body of the following function according to its docstring description. Do not use methods read or readlines, and do not use for loops. Instead, use while and method readline. def populate_dictionary(definition_file): (file open for reading) -> dict of {str: list of str} Preconditions: - definition_file contains 0 or more entries with the following format: - 1 line containing a word - 0 or more lines with a definition of that word (one definition per line) - there will be one blank line between entries Return a dictionary where each key is a word and each value is the list of definitions of that word from definition_file. Even if a word has 0 definitions, it should appear as a key in the dictionary. Page 11 of 23 Student #: cont d...

Question 10. [5 marks] Part (a) [1 mark] The list below is shown after each pass of a sorting algorithm. ['M', 'A', 'D', 'E', 'B', 'F', 'C'] # initial list ['A', 'D', 'E', 'B', 'F', 'C', 'M'] # after one pass ['A', 'D', 'B', 'E', 'C', 'F', 'M'] # after two ['A', 'B', 'D', 'C', 'E', 'F', 'M'] # after three ['A', 'B', 'C', 'D', 'E', 'F', 'M'] # after four Which sorting algorithm is being executed? (circle one) (a) bubble sort (b) selection sort (c) insertion sort Part (b) [1 mark] The list below is shown after each pass of a sorting algorithm. ['M', 'A', 'D', 'E', 'B', 'F', 'C'] # initial list ['A', 'M', 'D', 'E', 'B', 'F', 'C'] # after one pass ['A', 'B', 'D', 'E', 'M', 'F', 'C'] # after two ['A', 'B', 'C', 'E', 'M', 'F', 'D'] # after three ['A', 'B', 'C', 'D', 'M', 'F', 'E'] # after four ['A', 'B', 'C', 'D', 'E', 'F', 'M'] # after five Which sorting algorithm is being executed? (circle one) (a) bubble sort (b) selection sort (c) insertion sort Part (c) [1 mark] List [6, 5, 2, 3, 7, 1, 4] is being sorted using insertion sort. Fill in the blanks to show the list after the next two passes. After one pass: [6, 5, 2, 3, 7, 1, 4] After two passes: [5, 6, 2, 3, 7, 1, 4] After three passes: After four passes: Part (d) [1 mark] Some number of iterations of selection sort have been performed on a list, resulting in this list: [1, 2, 4, 5, 3, 8, 7, 6, 9] What is the maximum number of passes that could have been performed so far? Part (e) [1 mark] What additional piece of information do you know about the sorted section during selection sort that you don t know during insertion sort? Page 12 of 23 cont d...

Question 11. [5 marks] Each code fragment in the table below operates on list L, which has length k where k is very large at least in the tens of thousands. For each fragment, give an expression in terms of k for how many times happy! is printed, and circle whether the behaviour is constant, linear, quadratic or something else. Code How many times is happy! printed? Complexity (circle one) for i in range(len(l)): print('happy!') for item in L: print('happy!') constant linear quadratic something else for i in range(len(l)): for item in L[:i]: print('happy!') constant linear quadratic something else # Precondition: len(l) % 10 == 0 i = 0 while i < len(l): print('happy!') i = i + len(l) // 10 constant linear quadratic something else for item in L[1000:2000]: print('happy!') constant linear quadratic something else for item in L[10:]: print('happy!') constant linear quadratic something else Page 13 of 23 Student #: cont d...

Question 12. [15 marks] In this question, you will develop two classes to keep track of airplanes and flights. Here is the header and docstring for class Airplane. class Airplane: Information about a particular airplane including the model, the serial number, the number of seats, and the number of miles travelled. Part (a) [2 marks] Complete method init for class Airplane. Note: you will most likely not need all of the space on this page. def init (self, plane_model, serial_num, num_seats, miles_travelled): (Airplane, str, str, int, float) Record the airplane's model plane_model, serial number serial_num, the number of seats, and the distance travelled miles_travelled. >>> airplane = Airplane('Boeing 747', '19643', 366, 45267.7) >>> airplane.model 'Boeing 747' >>> airplane.serial '19643' >>> airplane.seats 366 >>> airplane.miles 45267.7 Page 14 of 23 cont d...

Part (b) [2 marks] Here is the header, type contract, and description for method log trip in class Airplane. Add an example that creates an Airplane object, logs a trip of 1000.0 miles, and shows that those miles have been logged. Also write the body of the method. def log_trip(self, num_miles): (Airplane, float) -> NoneType Precondition: num_miles > 0.0 Record that the airplane travelled num_miles additional miles. Part (c) [3 marks] Page 15 of 23 Student #: cont d...

Write an eq method in class Airplane that compares two Airplane objects to see if they are equal. Consider two Airplanes equal if they have the same serial number. Follow the function design recipe, which includes writing a docstring. Note: For the rest of this question, you should assume that there is a str method in class Airplane that returns strings of this form: 'Airplane(Boeing 747, 19643, 366, 45267.7)' Page 16 of 23 cont d...

class Flight: Information about an airplane flight. Part (d) [2 marks] Complete method init in class Flight: def init (self, plane): (Flight, Airplane) -> NoneType Create a Flight with an empty passenger list on airplane plane. >>> a = Airplane('Boeing 747', '19643', 366, 45267.7) >>> f = Flight(a) >>> str(f.airplane) 'Airplane(Boeing 747, 19643, 366, 45267.7)' >>> f.passengers [] Part (e) [3 marks] Complete method add in class Flight. def add(self, passenger): (Flight, str) -> bool If there are still seats available on this flight, add passenger to the passenger list. Return True iff passenger is added to this flight. >>> a = Airplane('Cessna 150E', '9378', 1, 824.8) >>> f = Flight(a) >>> f.add('myrto') True >>> f.add('jen') False Page 17 of 23 Student #: cont d...

Part (f) [3 marks] Complete method change_planes in class Flight: def change_planes(self, other_airplane): (Flight, Airplane) -> bool If other_airplane has enough seats to hold the passengers on this flight, use other_airplane for this flight. Whether or not we change to other_airplane, return the number of available seats on this flight (seats not currently occupied by passengers). >>> a1 = Airplane('Boeing 747', '19643', 366, 45267.7) >>> f = Flight(a1) >>> f.add('myrto') True >>> f.add('jen') True >>> a2 = Airplane('Bombardier Dash 8', '11234', 39, 6444.6) >>> f.change_planes(a2) 37 >>> a3 = Airplane('Cessna 150E', '9378', 1, 824.8) >>> f.change_planes(a3) 37 Page 18 of 23 cont d...

Total Marks = 85 Page 19 of 23 Student #: cont d...

[Use the space below for rough work. This page will not be marked, unless you clearly indicate the part of your work that you want us to mark.] Page 20 of 23 cont d...

Short Python function/method descriptions: builtins : input([prompt]) -> str Read a string from standard input. The trailing newline is stripped. The prompt string, if given, is printed without a trailing newline before reading. abs(x) -> number Return the absolute value of x. int(x) -> int Convert x to an integer, if possible. A floating point argument will be truncated towards zero. len(x) -> int Return the length of the list, tuple, dict, or string x. max(iterable) -> object max(a, b, c,...) -> object With a single iterable argument, return its largest item. With two or more arguments, return the largest argument. min(iterable) -> object min(a, b, c,...) -> object With a single iterable argument, return its smallest item. With two or more arguments, return the smallest argument. print(value,..., sep=' ', end='\n') -> NoneType Prints the values. Optional keyword arguments: sep: string inserted between values, default a space. end: string appended after the last value, default a newline. open(name[, mode]) -> file open for reading, writing, or appending Open a file. Legal modes are "r" (read), "w" (write), and "a" (append). range([start], stop, [step]) -> list-like-object of int Return the integers starting with start and ending with stop - 1 with step specifying the amount to increment (or decrement). If start is not specified, the list starts at 0. If step is not specified, the values are incremented by 1. dict: D[k] --> object Produce the value associated with the key k in D. del D[k] Remove D[k] from D. k in d --> bool Produce True if k is a key in D and False otherwise. D.get(k) -> object Return D[k] if k in D, otherwise return None. D.keys() -> list-like-object of object Return the keys of D. D.values() -> list-like-object of object Return the values associated with the keys of D. D.items() -> list-like-object of tuple of (object, object) Return the (key, value) pairs of D, as 2-tuples. Page 21 of 23 Student #: cont d...

file open for reading: F.close() -> NoneType Close the file. F.read() -> str Read until EOF (End Of File) is reached, and return as a string. F.readline() -> str Read and return the next line from the file, as a string. Retain newline. Return an empty string at EOF (End Of File). F.readlines() -> list of str Return a list of the lines from the file. Each string ends in a newline. file open for writing: F.close() -> NoneType Close the file. F.write(x) -> int Write the string x to file F and return the number of characters written. list: x in L --> bool Produce True if x is in L and False otherwise. L.append(x) -> NoneType Append x to the end of the list L. L.extend(iterable) -> NoneType Extend list L by appending elements from the iterable. Strings and lists are iterables whose elements are characters and list items respectively. L.index(value) -> int Return the lowest index of value in L. L.insert(index, x) -> NoneType Insert x at position index. L.pop() -> object Remove and return the last item from L. L.remove(value) -> NoneType Remove the first occurrence of value from L. L.reverse() -> NoneType Reverse *IN PLACE*. L.sort() -> NoneType Sort the list in ascending order *IN PLACE*. str: x in s --> bool Produce True if and only if x is in s. str(x) -> str Convert an object into its string representation, if possible. S.count(sub[, start[, end]]) -> int Return the number of non-overlapping occurrences of substring sub in string S[start:end]. Optional arguments start and end are interpreted as in slice notation. S.find(sub[, i]) -> int Return the lowest index in S (starting at S[i], if i is given) where the string sub is found or -1 if sub does not occur in S. S.index(sub) -> int Like find but raises an exception if sub does not occur in S. Page 22 of 23 cont d...

S.isalpha() -> bool Return True if and only if all characters in S are alphabetic and there is at least one character in S. S.isdigit() -> bool Return True if all characters in S are digits and there is at least one character in S, and False otherwise. S.islower() -> bool Return True if and only if all cased characters in S are lowercase and there is at least one cased character in S. S.isupper() -> bool Return True if and only if all cased characters in S are uppercase and there is at least one cased character in S. S.lower() -> str Return a copy of the string S converted to lowercase. S.lstrip([chars]) -> str Return a copy of the string S with leading whitespace removed. If chars is given and not None, remove characters in chars instead. S.replace(old, new) -> str Return a copy of string S with all occurrences of the string old replaced with the string new. S.rstrip([chars]) -> str Return a copy of the string S with trailing whitespace removed. If chars is given and not None, remove characters in chars instead. S.split([sep]) -> list of str Return a list of the words in S, using string sep as the separator and any whitespace string if sep is not specified. S.strip([chars]) -> str Return a copy of S with leading and trailing whitespace removed. If chars is given and not None, remove characters in chars instead. S.upper() -> str Return a copy of the string S converted to uppercase. Page 23 of 23 Student #: End of Final Examination