lab 6
play

Lab 6 Review Lab 5 Review relevant content Lab 6 Oct 24, 2017 - PDF document

Lab 6 Review Lab 5 Review relevant content Lab 6 Oct 24, 2017 Sprenkle - CSCI111 1 Common Issue: Inefficiency if team1Score > team2Score: print("Team 1 wins!") else: if team2Score < team1Score: print("Team 2


  1. Lab 6 • Review Lab 5 • Review relevant content • Lab 6 Oct 24, 2017 Sprenkle - CSCI111 1 Common Issue: Inefficiency if team1Score > team2Score: print("Team 1 wins!") else: if team2Score < team1Score: print("Team 2 wins!") else: if team1Score == team2Score: print("They tied! We're going to overtime!") Extra if statement, not necessary Know when hit second else that the only possibility is a tie if team1Score > team2Score: print("Team 1 wins!") else: if team2Score < team1Score: print("Team 2 wins!") if team1Score == team2Score: print("They tied! We're going to overtime!") Oct 24, 2017 Sprenkle - CSCI111 2 1

  2. Problem 1, 2 Efficiency 2 1 team1 > team2 team1 > team2 True True team2 > team1 team1 wins team1 wins True team2 > team1 team2 wins Tie True team2 wins End team2 == team1 True • How many condiKons evaluated? Tie Oct 24, 2017 Sprenkle - CSCI111 3 Problem 1, 2 Efficiency At most 2 2 comparisons 1 team1 > team2 team1 > team2 True Always 3 True comparisons team1 wins team2 > team1 team1 wins True team2 > team1 team2 wins Tie True team2 wins team2 == team1 End True Tie Oct 24, 2017 Sprenkle - CSCI111 4 2

  3. Problem 2 (& 3) Efficiency Which tends to be more efficient? How many condiKons to evaluate? team1 > team2 team1 == team2 True True team2 > team1 team2 > team1 1 wins Tie True True 2 wins Tie 2 wins 1 wins End End Oct 24, 2017 Sprenkle - CSCI111 5 Problem 2 (& 3) Efficiency More common case. Equality is a rare condition; May only need to check on average, will always need one condition. to check second condition. team1 > team2 team1 == team2 True True team2 > team1 team2 > team1 1 wins Tie True True 2 wins Tie 2 wins 1 wins End End Oct 24, 2017 Sprenkle - CSCI111 6 3

  4. Adding to Development Process • Last development step: Ø Assess your program again aVer it works Ø Is it efficient? Is it readable? Can I simplify? Oct 24, 2017 Sprenkle - CSCI111 7 Lab 4 – Greatest Hits: Less-Complicated Approaches for Customized Display • Correct but more complicated soluKon to handling customized display Other, similar examples in submissions if albums == 1 and extraTracks == 0: print("Your album requires", albums, "cd") elif albums == 1 and extraTracks > 0: print("Your album requires", albums, "cd") print(extraTracks, "tracks will have to wait for 
 the next Greatest Hits album") elif albums > 1 and extraTracks > 0: print("Your album requires", albums, "cds") print(extraTracks, "tracks will have to wait for 
 the next Greatest Hits album") elif albums > 1 and extraTracks == 0: print("Your album requires", albums, "cds") Oct 24, 2017 Sprenkle - CSCI111 8 4

  5. Lab 4 – Greatest Hits: Less-Complicated Approaches for Customized Display • Less complicated soluKon Ø Simpler logic, condiKons Ø Less duplicated code if albums == 1: print("Your album requires", albums, "CD.") else: print("Your album requires", albums, "CDs") if extraTracks > 1: print(extraTracks, "tracks will have to wait for 
 the next Greatest Hits album") elif extraTracks==1: print(extraTracks, "track will have to wait for the next Greatest Hits album") Oct 24, 2017 Sprenkle - CSCI111 9 RelaKonal Operators • Reminder: instead of, for example, num < 0 or num > 0 can use num != 0 Oct 24, 2017 Sprenkle - CSCI111 10 5

  6. World Series Extensions • Simulate innings Ø Simulate outs • Change odds based on home/visiKng team • Dynamically change odds based on who won/lost already in the series • Today: could stop the series aVer a team reaches four wins. How? Oct 24, 2017 Sprenkle - CSCI111 11 A new trick: sys module • sys.exit( <status code>) Ø You can typically use a status code of 0. • Example: import sys age = int(input("What is your age? ")) if age < 0: print("You must enter a positive number.") sys.exit(0) … Oct 24, 2017 Sprenkle - CSCI111 12 6

  7. str Review • How can we combine strings? • How can we find out how long a string is? • How can you tell if one string is contained in another string? • How can we find out the character at a certain posiKon? • How can we iterate through a string? • How do you call a method on a string? Oct 24, 2017 Sprenkle - CSCI111 13 Lab 6 • Advanced condiKons • Indefinite Loops • Text-based problems Oct 24, 2017 Sprenkle - CSCI111 14 7

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