Initial Commit
This commit is contained in:
commit
0926cb5f56
4 changed files with 157 additions and 0 deletions
1
README.md
Normal file
1
README.md
Normal file
|
@ -0,0 +1 @@
|
|||
# Python Catchup 2023 Supplementary Material
|
43
code/1_variables.py
Normal file
43
code/1_variables.py
Normal file
|
@ -0,0 +1,43 @@
|
|||
"""
|
||||
In this example, we will learn how to use variables in python
|
||||
|
||||
FYI: The thing in which I am currently writing is called a comment,
|
||||
this lets us explain our code.
|
||||
Comments can take this form, or the hashtag form
|
||||
|
||||
Terms:
|
||||
|
||||
RHS : Right Hand Side
|
||||
LHS : Left Hand Side
|
||||
"""
|
||||
|
||||
# Creating a new variable
|
||||
foo = 30
|
||||
|
||||
bar = 12
|
||||
|
||||
|
||||
# We can see the values inside of variables by printing them to the terminal
|
||||
# Python has a special builtin function called 'print' that does this for us
|
||||
print(foo)
|
||||
|
||||
print(bar)
|
||||
|
||||
# We assign the result of the expression on the RHS to the name on the LHS
|
||||
# In this case, the expression on the right is the sum of the variables 'foo'
|
||||
# and 'bar'
|
||||
summed = foo + bar
|
||||
|
||||
|
||||
# Printing the sum of foo and bar
|
||||
# This should output '42' to the screen
|
||||
print(summed)
|
||||
|
||||
|
||||
# You can also re-assign variables
|
||||
bar = 39
|
||||
|
||||
# This re-assignment does not affect the value of 'summed'
|
||||
print(summed) # Still 42
|
||||
|
||||
# This is because python variables are immediately evaluated on assignment
|
42
code/2_types.py
Normal file
42
code/2_types.py
Normal file
|
@ -0,0 +1,42 @@
|
|||
"""
|
||||
In this example, we learn about the basic types available in python
|
||||
"""
|
||||
|
||||
# An integer is any whole number
|
||||
integer_var = 23
|
||||
|
||||
# A float is any mathematical rational value
|
||||
# But also has the ability to represent special values
|
||||
# such as NaN, Inf, and -Inf
|
||||
float_var = 12.47
|
||||
|
||||
string_var = "Skynet is Alive"
|
||||
|
||||
# A Boolean is either True or False
|
||||
# and you can logical ANDs, ORs, NOTs, etc. on them
|
||||
boolean_var = True
|
||||
|
||||
|
||||
# A list is, as the name suggessts, a list of data
|
||||
# in python, the elements of a list can have different types
|
||||
# as demonstrated below
|
||||
list_var = [42, 3.14159, "Heehee", False]
|
||||
|
||||
|
||||
# A Dictionary is a mapping of keys into values
|
||||
# These keys can be integers or strings
|
||||
# And the values can be just about anything
|
||||
dict_var = {
|
||||
"Jan" : "January",
|
||||
"Feb" : "February",
|
||||
"Mar" : "March",
|
||||
"Apr" : "April",
|
||||
"May" : "May",
|
||||
"Jun" : "June",
|
||||
"Jul" : "July",
|
||||
"Aug" : "August",
|
||||
"Sep" : "September",
|
||||
"Oct" : "October",
|
||||
"Nov" : "November",
|
||||
"Dec" : "December"
|
||||
}
|
71
code/3_type_operations.py
Normal file
71
code/3_type_operations.py
Normal file
|
@ -0,0 +1,71 @@
|
|||
"""
|
||||
In this example, we will cover the operations that one can do on each of the primitive types
|
||||
|
||||
"""
|
||||
|
||||
|
||||
"""
|
||||
On Integers, we can do all arithmetic operations
|
||||
The result type of a binary operation on two integers is an integer
|
||||
|
||||
One consequence of this, is that the division operator will implicitly floor the result because integers cannot represent decimal numbers
|
||||
|
||||
On a division by 0, python will create a ZeroDivisionError, we will cover those later
|
||||
"""
|
||||
|
||||
number1 = 11
|
||||
number2 = 12
|
||||
|
||||
sum_var = number1 + number2 # 13
|
||||
dif_var = number1 - number2 # -1
|
||||
product_var = number1 * number2 # 132
|
||||
quotient_var = number1 / number2 # 0 (Floor of 11/12)
|
||||
|
||||
|
||||
"""
|
||||
On Floats, we have the exact same operations available as we do on integers
|
||||
The result type of a binary operation on two floats is a float
|
||||
|
||||
Because of this, division has the proper expected behavior with floats
|
||||
|
||||
But prepare for a surprise!!
|
||||
Try printing out the sum_var after it is assigned, what value do you get?
|
||||
|
||||
It should be 0.3, right?
|
||||
But you are getting 0.30000...0004,How Strange!
|
||||
This is actually a result of how computers store floating-point numbers
|
||||
|
||||
You know the way some numbers for us, such as 1/3 have a reccuring decimal place?
|
||||
In different numbering systems (bases), the numbers which require an infinite number of decimal places to represent changes
|
||||
In base 2 (binary), 3/10 needs infinite "decimals" to represent, since you cannot write 3/10 as the finite summation of 2^-x
|
||||
It would require infinite decimal places, i.e infinite memory to represent, which is not possible
|
||||
so all we can do is approximate for it!
|
||||
Look up IEE 754 for more info https://en.wikipedia.org/wiki/IEEE_754
|
||||
|
||||
"""
|
||||
|
||||
float1 = 0.1
|
||||
float2 = 0.2
|
||||
|
||||
sum_var = float1 + float2 # 0.3
|
||||
dif_var = float1 - float2 # -0.1
|
||||
product_var = float1 * float2 # 0.02
|
||||
quotient_var = float1 / float2 # 0.5
|
||||
|
||||
"""
|
||||
With Booleans, we can use all the logic operators that you covered in Discrete Math
|
||||
We can do boolean operators using their names, or their symbols
|
||||
and &&
|
||||
or ||
|
||||
not !
|
||||
xor ^ The xor keyword does not work
|
||||
|
||||
"""
|
||||
|
||||
bool1 = True
|
||||
bool2 = True
|
||||
|
||||
and_var = bool1 and bool2 # False
|
||||
or_var = bool1 or bool2 # True
|
||||
not_var = not bool1 # False
|
||||
xor_var = bool1 ^ bool2 # True
|
Loading…
Reference in a new issue