7.3 KiB
Python
Lesson Objectives
- Print a message
- Add a comment
- Create a variable and assign it a value
- Explain the different data types
- Perform calculations with variables
- Use string operations
- Create a list
- Access an element of a list
- Perform a set of commands depending on a situation
- Get user input
- Repeatedly perform a set of commands
- Use a for loop
- Define a function
- Create a class for an object
- Have a class inherit from another
- Create a factory for objects
Running files
These notes are for python3, so use python3 filename.py to run your files
Print a message
You can print a message to the user
print("hello!")
Add a comment
- Comments let you summarize what you're doing
- They don't get executed
# this will not be executed
Create a variable and assign it a value
a = "hello"
print(a) ##print the value of the variable 'a'
Explain the different data types
There are lots of different types of data that you can use in python
- String (text)
- Integers (whole numbers)
- Float (decimal numbers)
- Booleans (True/False)
You can convert one data type to another
a = str(1) #a = "1"
b = int("5") #b = 5
c = float(4) #c = 4.0
d = int(5.7) #d = 5
Perform calculations with variables
a = 1
b = a + 1 #b = 2
c = b * 3 #c = 6
d = c - 1 #d = 5
e = float(d) / 2 #e = 2.5
f = d ** 2 #exponent: f = 25
Use string operations
a = "first string"
b = "second string"
c = a + " " + b
Create a list
You can create lists of things
a = [1, 5, "some string", True, 5.6]
You can even have lists of lists
a = [
[1, 2, 3], #first row
[4, 5, 6], #second row
[7, 8, 9], #third row
[10] #fourth row
]
You can conceptualize a list of lists however you want
ACTIVITY
How would you change the previous example so that each inner list is a column?
Access an element of a list
Lists have elements stored at numerical indexes, starting at 0
a = [1, 5, "some string", True, 5.6]
print(a[0]) #1
print(a[1]) #5
print(a[4]) #5.6
Perform a set of commands depending on a situation
a = 22
if a < 10:
print("a is less than 10")
elif a == 10:
print("a is 10")
else:
print("a is greater than 10")
The conditions can be
<less than>greater than<=less than or equal to>=greater than or equal to==an exact match!=not equal to
You can also compare strings:
a = 'oh hai!'
if a == 'oh hai!':
print('this works')
You can combine conditional statements:
check to see if both conditions are met:
a = 1
b = 2
if a == 1 and b == 2:
print('y') # will print only when both a==1 AND b==2
check to see if either condition are met
a = 2
b = 2
if a == 1 or b == 2:
print('y') # will print when either a==1 OR b==2
Get user input
You can get user input from the command like so:
user_input = input("Please enter something: ")
print("you entered: " + user_input)
ACTIVITY
Write a program that models this flow chart:
Repeatedly perform a set of commands
a = 10
while a < 20:
print("the value of a is currently: " + str(a))
a = a + 1
ACTIVITIES
-
Write a program that models this flow chart:
-
Given the following list [70, 95, 97, 55, 3, 24, 89, 97, 84, 11]
- Write a program that loops through each value in the list and prints it
- Write a program that loops through each value in the list and adds them all together
- Write a program that loops through each value in the list and prints the average
- Write a program that loops through each value in the list and prints the minimum
- Write a program that loops through each value in the list and prints the maximum
-
Combine all the programs from the previous step into one program that asks the user what operation they would like to do
-
Alter the last program so that it performs the operations for only numbers that are greater than a number specified by the user
Use a for loop
The process of looping through an array can be simplified with a for loop:
foods = ['hot dogs', 'beer', 'bald eagles']
for food in foods:
print(food)
You can loop through a set of numbers using a range
for x in range(0, 3):
print(x)
ACTIVITIES
Simplify the last set of activities using a for loop
Define a function
If you have a routine that you run over and over again, you can define your own function:
def greet():
print('hi')
greet()
Functions can take parameters which alter their functionality:
def greet(name):
print('hi, ' + name)
greet('bob')
Functions can return values:
def add(value1, value2):
return value1 + value2
print(add(1,3))
ACTIVITIES
Create a calculator program that continually asks a user what operations they want to perform, until the user says 'quit'
Create a class for an object
You can use a class or blueprint for objects that you'll use
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def greet(self):
print("Hello, my name is " + self.name + ". My age is " + str(self.age))
me = Person("Matt", 36)
me.greet()
sally = Person("Sally", 53)
sally.greet()
__init__is a function that gets called when a new object is created.selfis the object that's created
Have a class inherit from another
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def greet(self):
print("Hello, my name is " + self.name + ". My age is " + str(self.age))
def work(self):
print("Boring...")
class SuperHero(Person): # tell it to inherit from Person
def __init__(self, name, age, powers):
super().__init__(name,age) # call Person's __init__()
self.powers = powers
def greet(self):
super().greet() # call Person's greet()
self.listPowers()
def listPowers(self):
for power in self.powers:
print(power)
def work(self): # override Person's work()
print("To action!")
superman = SuperHero('Clark Kent', 200, ['flight', 'strength', 'invulnerability'])
superman.greet()
superman.work()
Create a factory for objects
class Car:
def __init__(self, maker, model, serial):
self.maker = maker
self.model = model
self.serial = serial
class CarFactory:
def __init__(self, name):
self.name = name
self.cars = []
def makeCar(self, model):
self.cars.append(Car(self.name, model, len(self.cars)))
def listCars(self):
for car in self.cars:
print(car.maker + " " + car.model + ": " + str(car.serial))
def findCar(self, serial):
for car in self.cars:
if(car.serial == serial):
return car
toyota = CarFactory('Toyota')
toyota.makeCar('Prius')
toyota.makeCar('Rav 4')
toyota.listCars()
print(toyota.findCar(1).model)

