46 lines
1.4 KiB
Python
46 lines
1.4 KiB
Python
from random import randint
|
|
|
|
# Keep variable initialisation away from any statements that 'do' something, like printing
|
|
score = 0
|
|
|
|
# This is a function to help prevent code duplication
|
|
# We pass in the score variable in brackets so that the function can use it
|
|
def print_score(score):
|
|
# Here we use an 'f-string', note the f before the quotes
|
|
# That lets us use variables inside curly brackets
|
|
print(f"Your score is: {score}")
|
|
|
|
|
|
|
|
# We don't need to track this as we will loop until we break
|
|
while True:
|
|
|
|
# Call our custom function to print the scor
|
|
print_score(score)
|
|
|
|
# This is one way to do a multi-line string
|
|
print("""Three doors ahead...
|
|
A ghost behind one.
|
|
Which door do you open?""")
|
|
|
|
# We don't need to store the input or ghost door so can compute them at the time of use
|
|
# We test the negative (!=), just to flip the order for aesthetics
|
|
if int(input('Choose door 1, 2, or 3: ')) != randint(1,3):
|
|
|
|
# An alternative way to print more than one line, with \n
|
|
print ('No ghost!\n You enter the next room')
|
|
|
|
# This is another way to increment a variable
|
|
score += 1
|
|
|
|
# Else in this case means that the input WAS the same as the random int
|
|
else:
|
|
# this will break us out of the while True loop
|
|
break
|
|
|
|
# If we are here then we've lost
|
|
print ('GHOST!\nRun away!\nGame Over')
|
|
print_score(score)
|
|
|
|
|