You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

235 lines
4.1 KiB

# Intro to Python pt. 1
## Video Link
[Intro to Python pt 1](https://generalassembly.wistia.com/medias/zk66z0xm5x)
## 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. Use conditional statements to perfom a set of commands depending on the situation
## Set up
In today's `student_examples` directory, touch a file `program.py`
## Running files
These notes are for python 3.x, so use `python3 <YOUR FILENAME>.py` to run your files
## 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
```
- Python doesn't have a specific syntax for multi-line comments so we just use a # for each line.
```python
# to do multiple line comments
# you have to put a hash at the start of every
# line
```
## Create a variable and assign it a value
```python
a = "hello"
print(a) ##print the value of the variable 'a'
```
## Data Types in Python
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
```
## Performing Calculations
```python
a = 1
b = a + 1 #b = 2
c = b * 3 #c = 6
d = c - 1 #d = 5
e = d / 2 #e = 2.5
f = d ** 2 #exponent: f = 25
```
## String Operations
```python
a = "first string"
b = "second string"
c = a + " " + b
```
## Lists
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
If you want to make the previous example have columns instead of rows, do you need to change anything?
## 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
```
## Dictionaries
You can create JS style objects in python called dictionaries
- Dictionaries use array access syntax:
```python
my_car = {
"brand": "Ford",
"model": "Mustang",
"year": 1964
}
print(my_car["brand"])
```
You can also have lists in dictionaries and dictionaries in lists!
```python
a = [
{
"brand": "Ford",
"model": "Mustang",
"year": 1964
},
[4, 5, 6],
[7, 8, 9],
[10]
]
print(a)
b = {
"firstGrade": ["Bobby", "Kyle", "Suzy"],
"secondGrade": ["Jennifer", "Jasmine", "Javier"],
"thirdGrade": "Nobody, they all failed last year!"
}
print(b)
```
## 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
else:
print('n') # will print if either condition is false
if a == 0 and b == 2:
print('y') # will print only when both a==1 AND b==2
else:
print('n') # will print if either condition is false
```
check to see if either condition is met:
```python
a = 2
b = 2
if a == 1 or b == 2:
print('y') # will print when either a==1 OR b==2
else:
print('n') # will print if both conditions are false
if a == 1 or b == 1:
print('y') # will print when either a==1 OR b==2
else:
print('n') # will print if both conditions are false
```