lab 8
play

Lab 8 Reading, writing files Modules Exception Handling Using - PDF document

Lab 8 Reading, writing files Modules Exception Handling Using lists to solve problems March 12, 2019 Sprenkle - CSCI111 1 Lab 8: Pair Programming March 12, 2019 Sprenkle - CSCI111 2 1 Pair Programming There are two of


  1. Lab 8 • Reading, writing files • Modules • Exception Handling • Using lists to solve problems March 12, 2019 Sprenkle - CSCI111 1 Lab 8: Pair Programming March 12, 2019 Sprenkle - CSCI111 2 1

  2. Pair Programming • There are two of you, so Ø Double check problem specifications Ø Push each other: better tests, comments, var names, … Ø Iterate • Discuss Ø What is the role of the navigator? Ø What is the role of the driver? Ø What has worked well in your previous pairs? Ø What would you like to do more of? Ø If you haven’t felt that the balance between teammates is 50/50, what can you do to change that? March 12, 2019 Sprenkle - CSCI111 3 Compare Solutions words = sentence.split() shorthandList = [] for word in words: shorthandList.append(word[0]) shorthand = "".join(shorthandList) shorthand = shorthand.lower() print("Shorthand is:", shorthand) words = sentence.split() shorthand = "" for word in words: shorthand += word[0] shorthand = shorthand.lower() print("Shorthand is:", shorthand) March 12, 2019 Sprenkle - CSCI111 4 2

  3. Compare Solutions Both are valid solutions. I’m not sure which is more words = sentence.split() efficient in practice. shorthandList = [] for word in words: However, the solution at left shorthandList.append(word[0]) has more conceptual complexity (appending to a shorthand = "".join(shorthandList) list and then converting to a shorthand = shorthand.lower() string, as opposed to just creating the string). print("Shorthand is:", shorthand) words = sentence.split() shorthand="" In general, strive for less for word in words: complex solutions. shorthand += word[0] shorthand = shorthand.lower() print("Shorthand is:", shorthand) March 12, 2019 Sprenkle - CSCI111 5 Comment Example def def encodeLetter(letter, key): """Encodes a single letter. PRE: Input parameters are a single, lowercase character string (char) and an integer key (between -25 and 25, inclusive) POST: returns the encoded character as a str""" • Does not say who called function, where parameters came from, or where returned to • Any code can call the function and pass in input from anywhere (e.g., hardcoded, from user input, test function, …) • Does not say variable name returned March 12, 2019 Sprenkle - CSCI111 6 3

  4. Review Caesar Cipher • Consider the following solutions for for char in in message: asciiVal = ord(char) if asciiVal == 32: if … else else : … for char in for in message: if char == " ": if … else : else … March 12, 2019 Sprenkle - CSCI111 7 Review Caesar Cipher • Consider the following solutions for for char in in message: asciiVal = ord(char) if if asciiVal == 32: … else : else … for for char in in message: I know what " " means. if if char == " ": I don’t immediately know … what 32 means. else : else Lesson: prefer words … over numbers. March 12, 2019 Sprenkle - CSCI111 8 4

  5. Review: Cleaning Up Data Focus: Newline characters, Formatting • Given : a CSV file containing students’ names and their class according to the Registrar • Problem : This file has TMI Ø Just want the last name and the class year Ø Instead of Ugr:Sophomore, say “Sophomore” • Solution: Ø Read through file “data/years.csv”, clean up data Ø Write the cleaned up data to a new file called “data/roster.txt” • 1 st iteration: lastname class • 2 nd iteration: nice tables of data cleanRoster.py March 12, 2019 Sprenkle - CSCI111 9 Review • What are things we can do to lists? • How do we work with files? • What is the structure we use to do exception handling? • How do we create a module? March 12, 2019 Sprenkle - CSCI111 10 5

  6. Lab 8 Overview • Modules • Reading Files • Writing Files • Exception handling • Functions/Lists March 12, 2019 Sprenkle - CSCI111 11 6

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend