210 likes | 227 Views
Exam Prep and Wrap-Up. Intro to Computer Science CS1510, Section 2 Dr. Sarah Diesburg. Topics for today. Information on the exams Questions remaining from Tuesday’s Lab? Several examples from your book Some string formatting examples Split(). Exam Information. Two exams next week
E N D
Exam Prep and Wrap-Up Intro to Computer Science CS1510, Section 2 Dr. Sarah Diesburg
Topics for today • Information on the exams • Questions remaining from Tuesday’s Lab? • Several examples from your book • Some string formatting examples • Split()
Exam Information • Two exams next week • Focuses on chapters 1-4 • Includes material from the lectures and from the readings.
Exam Information • Monday, October 14 • In class, written exam • Mixture of multiple choice, short answer, and essay. • 100 points • Closed book, closed notes
Exam Information • Tuesday, October 15 • In lab, programming exam • Five small scripts • 125 points (25 points each) • Closed book, MOSTLY closed notes • One page (one sided) of handwritten notes • May also use the built in Python documentation (really not helpful if you haven’t used it before then)
Advice for the Tests • These things can make the difference of whether you pass or fail this class when studying • Go through each class days notes and example programs on the website • Practice coding over and over by going through your labs!!! This is the only way to really learn. • Review vocabulary and concepts by reading the book!!
Again… • The only way you can become comfortable with a toolset is to practice • Understanding what a power drill does will not help you much if you don’t practice using it • It’s the same for code • Practicing coding will make you more familiar with the coding structures necessary to code more quickly • Patterns will emerge, it will become easier
Questions about Tuesday’s Lab • Did you understand the explanations I made on both the string-based and math-based solutions? • Remaining issues?
String Wrap-Up • Find a Letter • Enumerate • Split • Palindromes
4.1 Find a Letter river = 'Mississippi' target = input('Input character to find: ') for index in range(len(river)): #for each index if river[index] == target: #check print( "Letter found at index: ", index ) break # stop searching else: print( 'Letter',target,'not found in',river)
Enumerate Function • The enumerate function prints out two values: the index of an element and the element itself • Can use it to iterate through both the index and element simultaneously, doing dual assignment
4.2-4.3 Enumeration # print first occurrence river = 'Mississippi' target = input('Input character to find: ') for index,letter in enumerate(river): if letter== target: #check print ("Letter found at index: ", index) break # stop searching else: print( 'Letter',target,'not found in',river)
4.2-4.3 Enumeration # print all occurrences river = 'Mississippi' target = input('Input character to find: ') for index,letter in enumerate(river): if letter== target: #check print ("Letter found at index: ", index ) # break # stop else: print( 'Letter',target,'not found in',river)
Split Function • The split function will take a string and break it into multiple new string parts depending on what the argument character is. • By default, if no argument is provided, split is on any whitespace character (tab, blank, etc.) • You can assign the pieces with multiple assignment if you know how many pieces are yielded.
Reorder a Name origName = ‘John Marwood Cleese’ first,mid,last = origName.split() name = last + ‘, ‘ + first + ‘ ‘ + mid print (name)
Palindromes and the Rules • A palindrome is a string that prints the same forward and backwards • Same implies that: • case does not matter • punctuation is ignored • “Madam I’m Adam” is thus a palindrome
Lower Case and Punctuation • Every letter is converted using the lower method • Import string, brings in a series of predefined sequences (string.digits, string.punctuation, string.whitespace) • We remove all non-wanted characters with the replace method. First arg is what to replace, the second the replacement.
Part 1 of Palindrome # first part import string originalString = input('Input a string:') modifiedStr = originalString.lower() badChars = string.whitespace + string.punctuation for char in modifiedStr: if char in badChars: # remove bad modifiedStr = modifiedStr.replace(char,'')
Part 1 of Palindrome # second part if modifiedStr == modifiedStr[::-1]: # palindrome ? print( 'The original string is: {}\n\ the modified string is: {}\n\ the reversal is: {}\n\ The string is a palindrome'.format( originalString, modifiedStr, modifiedStr[::-1])) else: # similar printing for not a palindrome