parent
1a8529297c
commit
a52bb7de13
@ -0,0 +1,355 @@
|
|||||||
|
# Python
|
||||||
|
|
||||||
|
## Lesson Objectives
|
||||||
|
|
||||||
|
1. Print a message
|
||||||
|
1. Add a comment
|
||||||
|
1. Create a variable and assign it a value
|
||||||
|
1. Explain the different data types
|
||||||
|
1. Perform calculations with variables
|
||||||
|
1. Use string operations
|
||||||
|
1. Create a list
|
||||||
|
1. Access an element of a list
|
||||||
|
1. Perform a set of commands depending on a situation
|
||||||
|
1. Get user input
|
||||||
|
1. Repeatedly perform a set of commands
|
||||||
|
1. Use a for loop
|
||||||
|
1. Define a function
|
||||||
|
1. Create a class for an object
|
||||||
|
1. Have a class inherit from another
|
||||||
|
1. Create a factory for objects
|
||||||
|
|
||||||
|
## Print a message
|
||||||
|
|
||||||
|
You can print a message to the user
|
||||||
|
|
||||||
|
```python
|
||||||
|
print("hello!")
|
||||||
|
```
|
||||||
|
|
||||||
|
## Add a comment
|
||||||
|
|
||||||
|
- Comments let you summarize what you're doing
|
||||||
|
- They don't get executed
|
||||||
|
|
||||||
|
```python
|
||||||
|
# this will not be executed
|
||||||
|
```
|
||||||
|
|
||||||
|
## Create a variable and assign it a value
|
||||||
|
|
||||||
|
```python
|
||||||
|
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
|
||||||
|
|
||||||
|
```python
|
||||||
|
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
|
||||||
|
|
||||||
|
```python
|
||||||
|
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
|
||||||
|
|
||||||
|
```python
|
||||||
|
a = "first string"
|
||||||
|
b = "second string"
|
||||||
|
c = a + " " + b
|
||||||
|
```
|
||||||
|
|
||||||
|
## Create a list
|
||||||
|
|
||||||
|
You can create lists of things
|
||||||
|
|
||||||
|
```python
|
||||||
|
a = [1, 5, "some string", True, 5.6]
|
||||||
|
```
|
||||||
|
|
||||||
|
You can even have lists of lists
|
||||||
|
|
||||||
|
```python
|
||||||
|
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
|
||||||
|
|
||||||
|
```python
|
||||||
|
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
|
||||||
|
|
||||||
|
```python
|
||||||
|
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:
|
||||||
|
|
||||||
|
```python
|
||||||
|
a = 'oh hai!'
|
||||||
|
if a == 'oh hai!':
|
||||||
|
print('this works')
|
||||||
|
```
|
||||||
|
|
||||||
|
You can combine conditional statements:
|
||||||
|
|
||||||
|
check to see if both conditions are met:
|
||||||
|
|
||||||
|
```python
|
||||||
|
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
|
||||||
|
|
||||||
|
```python
|
||||||
|
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:
|
||||||
|
|
||||||
|
```python
|
||||||
|
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
|
||||||
|
|
||||||
|
```python
|
||||||
|
a = 10
|
||||||
|
while a < 20:
|
||||||
|
print("the value of a is currently: " + str(a))
|
||||||
|
a = a + 1
|
||||||
|
```
|
||||||
|
|
||||||
|
### ACTIVITIES
|
||||||
|
|
||||||
|
1. Write a program that models this flow chart:
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
1. 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
|
||||||
|
1. Combine all the programs from the previous step into one program that asks the user what operation they would like to do
|
||||||
|
1. 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:
|
||||||
|
|
||||||
|
```python
|
||||||
|
foods = ['hot dogs', 'beer', 'bald eagles']
|
||||||
|
for food in foods:
|
||||||
|
print(food)
|
||||||
|
```
|
||||||
|
|
||||||
|
You can loop through a set of numbers using a `range`
|
||||||
|
|
||||||
|
```python
|
||||||
|
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:
|
||||||
|
|
||||||
|
```python
|
||||||
|
def greet():
|
||||||
|
print('hi')
|
||||||
|
|
||||||
|
greet()
|
||||||
|
```
|
||||||
|
|
||||||
|
Functions can take parameters which alter their functionality:
|
||||||
|
|
||||||
|
```python
|
||||||
|
def greet(name):
|
||||||
|
print('hi, ' + name)
|
||||||
|
|
||||||
|
greet('bob')
|
||||||
|
```
|
||||||
|
|
||||||
|
Functions can return values:
|
||||||
|
|
||||||
|
```python
|
||||||
|
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
|
||||||
|
|
||||||
|
```python
|
||||||
|
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.
|
||||||
|
- `self` is the object that's created
|
||||||
|
|
||||||
|
## Have a class inherit from another
|
||||||
|
|
||||||
|
```python
|
||||||
|
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
|
||||||
|
|
||||||
|
```python
|
||||||
|
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)
|
||||||
|
```
|
||||||
|
|
||||||
|
### Activities
|
||||||
|
|
||||||
|
- [Landscaper](landscaper.md)
|
||||||
|
- [Castle Battle](castle.md)
|
||||||
Loading…
Reference in new issue