1 of 14

Python 101

https://linktr.ee/durhamdatascience

2 of 14

Why learn programming?

  • Understand tech news
  • Problem-solving skills
  • Future-proofing your career
  • Analyse data on your own

3 of 14

Basic ideas

  • Reading input from the user
  • “Loops” for repeating work
  • Handling errors
  • Generating random values

4 of 14

Why error handling matters: NASA Mars Orbiter disaster

  • Joint project between Lockheed Martin and NASA
  • Lockheed martin code used imperial units (lbs)
  • The NASA code used metric units (Newtons)
  • Values off by a factor of 5

5 of 14

NASA Mars Climate Orbiter disaster (1999)

  • The code calculated the wrong trajectory
  • Disintegrated in the atmosphere of mars
  • $327 million in damages

6 of 14

Error handling in python: try/except

try:

int("hello")

except ValueError:

print("That's not a number")

7 of 14

If statements

if guess < secret_number:

print("Too low")

elif guess > secret_number:

print("Too high")

else:

print("You got it!")

8 of 14

While loops

while guess != secret_number:

guess = input("Make a guess: ")

try:

guess = int(guess)

except ValueError:

print("That's not a number")

continue

9 of 14

While loops: The condition

while guess != secret_number:

guess = input("Make a guess: ")

try:

guess = int(guess)

except ValueError:

print("That's not a number")

continue

10 of 14

While loops: The body

while guess != secret_number:

guess = input("Make a guess: ")

try:

guess = int(guess)

except ValueError:

print("That's not a number")

continue

11 of 14

While loops: continue

while guess != secret_number:

guess = input("Make a guess: ")

try:

guess = int(guess)

except ValueError:

print("That's not a number")

continue

12 of 14

Changing the condition

number_of_goes_left = 5

guess = None

secret_number = random.randint(1, 100)

while number_of_goes_left > 0:

...

13 of 14

Updating the number of attempts

number_of_goes_left = 5

guess = None

secret_number = random.randint(1, 100)

while number_of_goes_left > 0:

...

number_of_goes_left = number_of_goes_left - 1

14 of 14

While loops: break

while number_of_goes_left > 0:

number_of_goes_left = number_of_goes_left - 1

...

elif guess == secret_number:

print("You got it!")

break

if number_of_goes_left == 0:

print("You ran out of tries")