# 4 - IF ELSE Statements

1. Run the program and play it. On what line can you spot the 'If statement'?
```import turtle

tina = turtle.Turtle()

Guess = int(input("What is 2 X 7?"))

if Guess == 2*7:
tina.write(str(Guess) + ' is correct!')
tina.penup()
tina.backward(10)
else:
tina.write('You said ' + str(Guess) + '. I got ' + str(2*7))
tina.penup()
tina.backward(10)```

There is no IF statement

Line 1

Line 7

Line 5

2. The following code has a very subtle mistake in it that will stop it from running. Can you spot what it is?
```import turtle

tina = turtle.Turtle()

Guess = int(input("What is 2 X 7?"))

if Guess = 2*7:
tina.write(str(Guess) + ' is correct!')
tina.penup()
tina.backward(10)
else:
tina.write('You said ' + str(Guess) + '. I got ' + str(2*7))
tina.penup()
tina.backward(10)```

Line 7 should not have a ":" (colon) after it

There is no mistake

A double equal sign (==) on Line 7 is needed

Line 7 should have a lowercase 'guess' instead of 'Guess'

3. In the following code, what line/s will come into play if you enter '2' as your age?
```import turtle
tina = turtle.Turtle()
tina.shape('turtle')
tina.penup()

try:
age = int(input("How old are you? (Use numbers)"))
if age >= 10 and age <= 15:
tina.write("You're between 10 and 15 years old")
tina.backward(20)
elif age < 10:
tina.write("You're less than 10 years old")
tina.backward(20)
elif age > 15:
tina.write("You're over 15 years old")
tina.backward(20)
except:
tina.backward(100)
tina.write("I don't think I understand that age.  Are you using numbers?")
tina.backward(20)```

Lines 1 to 3

Lines 11 to 13

Lines 14 to 16

If you enter '2' as your age, it will come up with an error.

4. Why has line 17 to 20 been included in the code?
```import turtle
tina = turtle.Turtle()
tina.shape('turtle')
tina.penup()

try:
age = int(input("How old are you? (Use numbers)"))
if age >= 10 and age <= 15:
tina.write("You're between 10 and 15 years old")
tina.backward(20)
elif age < 10:
tina.write("You're less than 10 years old")
tina.backward(20)
elif age > 15:
tina.write("You're over 15 years old")
tina.backward(20)
except:
tina.backward(100)
tina.write("I don't think I understand that age.  Are you using numbers?")
tina.backward(20)```

The except section is just there for elegance - it doesn't actually do anything useful

If the user enters something other than a number (e.g. the letter "A") it will run the code in the except section.

If the user enters the number '1', it will run the code in the except section

If the user enters an age of 100 it will run the code in the except section

5. In the following code, if you enter '202' it should say "Are you sure you are over 200?", but it doesn't work. Why?
```import turtle
tina = turtle.Turtle()
tina.shape('turtle')
tina.penup()

try:
age = int(input("How old are you? (Use numbers)"))
if age >= 10 and age <= 15:
tina.write("You're between 10 and 15 years old")
tina.backward(20)
elif age < 10:
tina.write("You're less than 10 years old")
tina.backward(20)
elif age > 15:
tina.write("You're over 15 years old")
tina.backward(20)
elif age >200:
tina.write("Are you sure you are over 200?")
tina.backward(20)
except:
tina.backward(100)
tina.write("I don't think I understand that age.  Are you using numbers?")
tina.backward(20)```

This cannot be done as it is too complex

Line 14 should say: elif age > 15 and age <200:

The except statement should also say on line 20: except

Line 6 should say: try: not 200 - all others accepted:

6. What would be an appropriate response for line 27 to say?
```import turtle
tina=turtle.Turtle()
tina.shape('turle')
tina.penup()

try:
how_high = int(input("How high should Tina go? (Use numbers between 200 and -200)"))
tina.goto(0, how_high)
height = tina.pos()

if height > 150 and height <= 200:
tina.write("This is very high!")
elif height > 100 and height <= 150:
tina.write("This is high!")
elif height > 0 and height <= 100:
tina.write("This is high but not too high!")
elif height > -100 and height <= 0:
tina.write("This is low but not too low!")
elif height > -150 and height <= -100:
tina.write("This is low!")
elif height >= -200 and height <= -150:
tina.write("This is very low!")
else:
raise
except:
tina.backward(100)
tina.write("Blah Blah Blah")
tina.backward(20)```

tina.write("Excellent - well done")

tina.write("Error, please select numbers above 200 only")

tina.write("Hey, that's not a number between 200 and -200!")

tina.write("Hello there")

7. Point out the if statements in the following code:

There is an if statement in line 6 to 8

There are no IF statements - but for loops have been used

There are two if statements in this code

There are four if statements in this code

8. Can you spot the IF function in the file helper.py?

Line 112 contains one If statement and there are others too

Line 1

There are no if statements here

There are only except statements

9. This is quite a complex bit of code…complete the comment: If the enemy hits a player, a ……….
```# if enemy hits player, a ___________________________
for enemy in enemies:
myscreen.tracer(0)
if enemy.distance(player) < 15:
life.clear()
stamplife(number-1)
myscreen.tracer(0)
player.goto(randint(-195,195),randint(-195,160))
enemy.goto(randint(-195,195),randint(-195,160))
number -= 1```

life gets taken away

window is destroyed

error occurs

10. What do you think this set of if statements is likely to be doing?
```def checkposition(turtlelist, screen):
myscreen.tracer(0)
for turtle in turtlelist:
x = turtle.xcor()
y = turtle.ycor()
if x > 197:
turtle.setx(-197)
elif x < -197:
turtle.setx(197)
if y > 155:
turtle.sety(-197)
elif y < -197:
turtle.sety(155)
myscreen.tracer(1)
return```

A function to check if turtle has gone off the screen

A function to check if the user is the right age.

A function to check if the game is over

A function to check if the turtle is an enemy