6.0 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
- Create a class for an object
- Have a class inherit from another
- Create a factory for objects
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
You can also compare strings:
a = 'oh hai!'
if a == 'oh hai!':
print 'this works'
Get user input
You can get user input from the command like so:
user_input = raw_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)
ACTIVITIES
Simplify the last set of activities using a for loop
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):
def __init__(self, name, age, powers):
super().__init__(name,age)
self.powers = powers
def greet(self):
super().greet()
self.listPowers()
def listPowers(self):
for power in self.powers:
print(power)
def work(self):
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)

