diff --git a/10_Pandas-1.html b/10_Pandas-1.html index e8d9458..40c6241 100644 --- a/10_Pandas-1.html +++ b/10_Pandas-1.html @@ -1097,7 +1097,7 @@
4
+3
File "/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_30799/1243815937.py", line 1
+ File "/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_61589/1243815937.py", line 1
print(set(ncaa['
^
SyntaxError: EOL while scanning string literal
diff --git a/11_Pandas-2.html b/11_Pandas-2.html
index a4f2512..d9abb54 100644
--- a/11_Pandas-2.html
+++ b/11_Pandas-2.html
@@ -2284,7 +2284,7 @@ What’s happening under the hood
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
-/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_30808/3685041712.py in <module>
+/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_61602/3685041712.py in <module>
----> 1 courses = courses.drop(columns="has_intro")
2 courses.head()
diff --git a/2b_Variables.html b/2b_Variables.html
index 2bf8b8d..5b2e85d 100644
--- a/2b_Variables.html
+++ b/2b_Variables.html
@@ -1048,6 +1048,7 @@ SemanticsAnswer:
For me at least, the 2nd version makes it clearer that the program shouldn’t have +
in there: it should be *
, since pay is a function of hours worked times hourly rate.
+Also, say an employee told you they needed to update their number of hours worked. Which variable would you need to update?
Going back to the issue of data types, I like to name my variables in a way that suggests their data type.
For example:
@@ -1055,7 +1056,7 @@ SemanticsisFunny instead of x
, which makes it clear that there’s probably a boolean
in there
numCredits
instead of y
, which makes it clear that there’s probably some kind of number in there
-Also, by convention, you might see people use certain names for certain kinds of things. For example, i
is often used to refer to a counter value
+
By convention, you might see people use certain names for certain kinds of things. For example, i
is often used to refer to a counter value
s
(or some variant of it) is often used to refer to a string.
You should feel free to name variables whatever makes sense to you, as long as you feel they accurately signal the logic of the program they’re in. Your future self (and current/future collaborators) will thank you for following this fundamental principle. You’ll be surprised how often you can get unstuck simply by clarifying the names of the variables (which makes the structure of the program clearer, and the source of the problem obvious).
Example: debug a program that is supposed to compute a total check with 20% tip after accounting for 7% tax
@@ -1106,8 +1107,12 @@ SemanticstipAmount = tipRate * (baseAmount + baseAmount*taxRate)
Again, these are the same exact programs, from Python’s perspective! The variable names make all the difference.
-Just for fun, you can read some programming horror stories about variable naming here.
-And see this StackOverflow thread for discussion of the importance of variable naming (in the context of discussing code readability, a central thing we care about it in this class, enough to make it a rubric item on your Projects!). The thread includes some links to style guides from Microsof, Python, and other sources.
+To reinforce the point, I recommend:
+
+a collection of programming horror stories about variable naming here
+this StackOverflow thread for discussion of the importance of variable naming (in the context of discussing code readability, a central thing we care about it in this class, enough to make it a rubric item on your Projects!). The thread includes some links to style guides from Microsof, Python, and other sources.
+and this discussion of variable naming in a data science context
+
diff --git a/3_Functions.html b/3_Functions.html
index d779ecc..c5f7589 100644
--- a/3_Functions.html
+++ b/3_Functions.html
@@ -974,6 +974,7 @@ Function callminutes_to_hours with mins
as input, and return the result
Pass that result to the print
function (yes, this is a function also!) as an input argument.
+It may help to plug this code (and really all the other examples in this lecture) into pythontutor to step through it line by line.
Let’s look at another example pair.
@@ -998,12 +999,12 @@ Function call
-A:
-Parameter: age
-Argument: your_age
-
+
Key idea: Arguments vs. parameters#
@@ -1077,7 +1078,7 @@ Writing a function from scratch
@@ -1105,7 +1106,7 @@ Writing a function from scratch
apply_discount(saleAmount=325.99, percentageDiscount=.2)
@@ -1373,7 +1374,7 @@ Mismatching arguments and parameters
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
-/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_30836/3405736382.py in <module>
+/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_52246/3405736382.py in <module>
4 return result
5
----> 6 minus(3)
diff --git a/4_Conditionals.html b/4_Conditionals.html
index 6922d71..d913855 100644
--- a/4_Conditionals.html
+++ b/4_Conditionals.html
@@ -985,7 +985,7 @@ Practice: construct basic conditional blocks
- File "/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_30843/471952310.py", line 7
+ File "/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_61639/471952310.py", line 7
print("Graduate")}
^
SyntaxError: unmatched '}'
diff --git a/5_Lists.html b/5_Lists.html
index 80e5fb8..b999447 100644
--- a/5_Lists.html
+++ b/5_Lists.html
@@ -1639,7 +1639,7 @@ IndexError
- File "/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_30856/3285008488.py", line 6
+ File "/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_61654/3285008488.py", line 6
This happens most with operations that can be done wiht methods and functions, such as sorting
^
SyntaxError: invalid syntax
diff --git a/6_Iteration-Solutions-Day1.html b/6_Iteration-Solutions-Day1.html
index 923a76a..e3fd5ab 100644
--- a/6_Iteration-Solutions-Day1.html
+++ b/6_Iteration-Solutions-Day1.html
@@ -1341,7 +1341,7 @@ Mapping / transforming
- File "/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_30868/2612048376.py", line 8
+ File "/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_61666/2612048376.py", line 8
# add transformed item to transformed items list
^
IndentationError: expected an indented block
diff --git a/6_Iteration-Solutions-Day2.html b/6_Iteration-Solutions-Day2.html
index 34b0987..fb74b3b 100644
--- a/6_Iteration-Solutions-Day2.html
+++ b/6_Iteration-Solutions-Day2.html
@@ -1664,7 +1664,7 @@ Anatomy of an indefinite (while) loop in Python
---------------------------------------------------------------------------
StdinNotImplementedError Traceback (most recent call last)
-/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_30876/3638488589.py in <module>
+/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_61673/3638488589.py in <module>
----> 1 guess = input("Try to guess the number between 1 and 10, or say `exit` to quit")
2 number = 5
3 found = False
diff --git a/6_Iteration.html b/6_Iteration.html
index 25582e8..a7d6ba6 100644
--- a/6_Iteration.html
+++ b/6_Iteration.html
@@ -719,7 +719,7 @@ What are loops and why should we care about them?
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
-/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_30862/3929469459.py in <module>
+/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_61660/3929469459.py in <module>
1 # stir the sauce until it is thick
----> 2 while check_sauce() == "thick":
3 stir()
diff --git a/7_Strings-Solutions-Day1.html b/7_Strings-Solutions-Day1.html
index 3ddb64c..5740d54 100644
--- a/7_Strings-Solutions-Day1.html
+++ b/7_Strings-Solutions-Day1.html
@@ -755,7 +755,7 @@ Strings are everywhere
---------------------------------------------------------------------------
StdinNotImplementedError Traceback (most recent call last)
-/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_30903/3849018124.py in <module>
+/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_61687/3849018124.py in <module>
----> 1 age = input('What is your age?')
~/opt/anaconda3/lib/python3.9/site-packages/ipykernel/kernelbase.py in raw_input(self, prompt)
diff --git a/7_Strings-Solutions-Day2.html b/7_Strings-Solutions-Day2.html
index 0b3b76b..1886b03 100644
--- a/7_Strings-Solutions-Day2.html
+++ b/7_Strings-Solutions-Day2.html
@@ -755,7 +755,7 @@ Strings are everywhere
---------------------------------------------------------------------------
StdinNotImplementedError Traceback (most recent call last)
-/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_30910/3849018124.py in <module>
+/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_61693/3849018124.py in <module>
----> 1 age = input('What is your age?')
~/opt/anaconda3/lib/python3.9/site-packages/ipykernel/kernelbase.py in raw_input(self, prompt)
diff --git a/7_Strings.html b/7_Strings.html
index 6f42839..d47f822 100644
--- a/7_Strings.html
+++ b/7_Strings.html
@@ -766,7 +766,7 @@ Strings are everywhere
---------------------------------------------------------------------------
StdinNotImplementedError Traceback (most recent call last)
-/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_30893/3849018124.py in <module>
+/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_61680/3849018124.py in <module>
----> 1 age = input('What is your age?')
~/opt/anaconda3/lib/python3.9/site-packages/ipykernel/kernelbase.py in raw_input(self, prompt)
diff --git a/8_Dictionaries-Solutions.html b/8_Dictionaries-Solutions.html
index ba86a9e..1cae8e9 100644
--- a/8_Dictionaries-Solutions.html
+++ b/8_Dictionaries-Solutions.html
@@ -975,7 +975,7 @@ Dictionaries do not have an order or indexing by position
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
-/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_30924/1477208096.py in <module>
+/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_61708/1477208096.py in <module>
1 # can't get things by position
----> 2 d[0]
diff --git a/8_Dictionaries.html b/8_Dictionaries.html
index 7f122a4..ccfdd6a 100644
--- a/8_Dictionaries.html
+++ b/8_Dictionaries.html
@@ -978,7 +978,7 @@ Dictionaries do not have an order or indexing by position
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
-/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_30916/1477208096.py in <module>
+/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_61701/1477208096.py in <module>
1 # can't get things by position
----> 2 d[0]
diff --git a/9_Files.html b/9_Files.html
index 26ed1a2..85b1bcb 100644
--- a/9_Files.html
+++ b/9_Files.html
@@ -863,7 +863,7 @@ Practice writing directions (paths) to files!
---------------------------------------------------------------------------
FileNotFoundError Traceback (most recent call last)
-/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_30933/1209499128.py in <module>
+/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_61714/1209499128.py in <module>
1 fpath = 'other_stuff/newfile2.txt'
----> 2 fhand = open(fpath, 'r')
3 fhand
diff --git a/Practice_Debugging_examples-Solutions.html b/Practice_Debugging_examples-Solutions.html
index 92068f7..50e0db7 100644
--- a/Practice_Debugging_examples-Solutions.html
+++ b/Practice_Debugging_examples-Solutions.html
@@ -1047,7 +1047,7 @@ Reproducible example
---------------------------------------------------------------------------
StdinNotImplementedError Traceback (most recent call last)
-/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_30968/1928561132.py in <module>
+/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_61744/1928561132.py in <module>
1 # get the first number
----> 2 num1 = input('Enter a number:')
3
diff --git a/Practice_Debugging_examples.html b/Practice_Debugging_examples.html
index 3732b85..96430a5 100644
--- a/Practice_Debugging_examples.html
+++ b/Practice_Debugging_examples.html
@@ -1038,7 +1038,7 @@ Reproducible example
---------------------------------------------------------------------------
StdinNotImplementedError Traceback (most recent call last)
-/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_30960/2485259710.py in <module>
+/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_61736/2485259710.py in <module>
----> 1 num1 = input('Enter a number:')
2 num2 = input('Enter another number:')
3 result = num1 + num2
diff --git a/Practice_Module-1-Projects-Solutions.html b/Practice_Module-1-Projects-Solutions.html
index dcbfdf2..9e35293 100644
--- a/Practice_Module-1-Projects-Solutions.html
+++ b/Practice_Module-1-Projects-Solutions.html
@@ -558,7 +558,7 @@ 1: Traffic light timer
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
-/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_30983/2712482820.py in <module>
+/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_61760/2712482820.py in <module>
2 r = True
3 w = False
----> 4 traffic_light_seconds(isRushHour=r, isWeekend=bw)
diff --git a/Practice_Module-1-Projects.html b/Practice_Module-1-Projects.html
index cfe5a21..3e5cf7d 100644
--- a/Practice_Module-1-Projects.html
+++ b/Practice_Module-1-Projects.html
@@ -560,7 +560,7 @@ 1: Traffic light timer
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
-/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_30977/2712482820.py in <module>
+/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_61752/2712482820.py in <module>
2 r = True
3 w = False
----> 4 traffic_light_seconds(isRushHour=r, isWeekend=bw)
diff --git a/Practice_Module-2-Projects-Solutions.html b/Practice_Module-2-Projects-Solutions.html
index 24475f6..356ec21 100644
--- a/Practice_Module-2-Projects-Solutions.html
+++ b/Practice_Module-2-Projects-Solutions.html
@@ -800,7 +800,7 @@ Process submissions (with late penalties and exceptions)---------------------------------------------------------------------------
NameError Traceback (most recent call last)
-/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_31000/4273460477.py in <module>
+/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_61779/4273460477.py in <module>
37 print(final_scores)
38 # print out message
---> 39 print(f"The average score (after penalizing {num_penalized} late submissions) is {avg:.2f}")
diff --git a/Week 1 Day 2 - Intro to Jupyter.html b/Week 1 Day 2 - Intro to Jupyter.html
index ecce60f..e182036 100644
--- a/Week 1 Day 2 - Intro to Jupyter.html
+++ b/Week 1 Day 2 - Intro to Jupyter.html
@@ -766,7 +766,7 @@ The IPython kernel
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
-/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_31047/2167009006.py in <module>
+/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_61840/2167009006.py in <module>
----> 1 a
NameError: name 'a' is not defined
diff --git a/Week-13-Day-1_NB_Module4Intro.html b/Week-13-Day-1_NB_Module4Intro.html
index bc152ee..4dd2467 100644
--- a/Week-13-Day-1_NB_Module4Intro.html
+++ b/Week-13-Day-1_NB_Module4Intro.html
@@ -469,7 +469,7 @@ Contents
---------------------------------------------------------------------------
FileNotFoundError Traceback (most recent call last)
-/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_31053/4240648671.py in <module>
+/var/folders/xz/_hjc5hsx743dclmg8n5678nc0000gn/T/ipykernel_61846/4240648671.py in <module>
3 fpath = "../Project 4 Datasets/ncaa-team-data.csv"
4 # read it into a pandas datastructure
----> 5 dataset = pd.read_csv(fpath)
diff --git a/Week-13-Day-2_NB_Review-and-Using-Libraries.html b/Week-13-Day-2_NB_Review-and-Using-Libraries.html
index ecc02c2..448e42b 100644
--- a/Week-13-Day-2_NB_Review-and-Using-Libraries.html
+++ b/Week-13-Day-2_NB_Review-and-Using-Libraries.html
@@ -535,7 +535,7 @@ Review: key concept of the path for files, debugging