Conditionals & Control Flow
[Pages:38]Lecture 7
Conditionals & Control Flow
Announcements For This Lecture
Assignment 1
Partners
? Should be working on it
? Have covered everything ? Look at lab for more help
? Due Wednesday at mid.
? Can work at it during lab ? But labs are due as normal
? One-on-Ones ongoing
? Lots of spaces available
? You must pair in CMS ? Go into the submission
? Request your partner ? Other person accepts
AI Quiz
? Sent out several e-mails ? Will drop next week!
9/16/21
Conditionals & Program Flow
2
Testing last_name_first(n)
# test procedure def test_last_name_first():
Call function on test input
"""Test procedure for last_name_first(n)"""
result = name.last_name_first('Walker White')
Compare to
introcs.assert_equals('White, Walker', result)
expected output
result = name.last_name_first('Walker
White')
introcs.assert_equals('White, Walker', result)
# Script code test_last_name_first()
Call test procedure to activate the test
print('Module name passed all tests.')
9/16/21
Conditionals & Program Flow
3
Types of Testing
Black Box Testing
White Box Testing
? Function is "opaque"
? Test looks at what it does ? Fruitful: what it returns ? Procedure: what changes
? Example: Unit tests
? Problems:
? Are the tests everything? ? What caused the error?
? Function is "transparent"
? Tests/debugging takes place inside of function
? Focuses on where error is
? Example: Use of print
? Problems:
? Much harder to do ? Must remove when done
9/16/21
Conditionals & Program Flow
4
Types of Testing
Black Box Testing
White Box Testing
? Function is "opaque"
? Test looks at what it does
? FruWitfuol:rkwshaot nit returns ? Pfruocnecdtuiroen: swhyaot uchanges ? Exadmidplne:oUt dnietftiensets
? Problems:
? Are the tests everything? ? What caused the error?
? Function is "transparent"
? Tests/debugging takes
plaCceaninsaidcetuofaflulynction ? Fofciunseds tohnewbheurge error is ? Examipnlefu: Uncsteioonf print
? Problems:
? Much harder to do ? Must remove when done
9/16/21
Conditionals & Program Flow
5
Finding the Error
? Unit tests cannot find the source of an error
? Idea: "Visualize" the program with print statements
def last_name_first(n):
"""Returns: copy of n in form 'last-name, first-name' """
end_first = n.find(' ') print(end_first) first = n[:end_first]
Print variable after each assignment
print('first is '+str(first)) last = n[end_first+1:] print('last is '+str(last))
Optional: Annotate value to make it easier to identify
return last+', '+first
9/16/21
Conditionals & Program Flow
6
How to Use the Results
? Goal of white box testing is error location
? Want to identify the exact line with the error ? Then you look real hard at line to find error ? What you are doing in lab this week
? But similar approach to black box testing
? At each line you have expected print result ? Compare it to the received print result ? Line before first mistake is likely the error
9/16/21
Conditionals & Program Flow
7
Warning About Print Statements
? Must remove them when you are done
? Not part of the specification (violation) ? Slow everything down unnecessarily ? App Store will reject an app with prints
? But you might want them again later
? Solution: "comment them out" ? You can always uncomment later
9/16/21
Conditionals & Program Flow
8
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related download
- lecture 8 conditionals control flow
- python if else rxjs ggplot2 python data
- conditional statements in python
- python programming an introduction to computer
- python conditional statements
- python if else statements driving lesson 4
- the if statement and practice problems
- python selection if else basic selection statement
- conditionals control flow
Related searches
- central dogma flow chart
- home buying process flow chart
- cash flow financing loans
- cellular respiration flow chart
- iv flow rate calculator
- cash flow loans small business
- iv flow rate cheat sheet
- rental property cash flow spreadsheet
- cash flow from financing activities formula
- dividend cash flow calculator
- real estate cash flow spreadsheet
- rental property cash flow template