I was creating a guessing game for practice and this syntax error came up in my code which says that my break function is outside the loop. I looked at my code and it is not outside the loop so I would appreciate it if someone could help me with my problem.
JavaScript
x
45
45
1
from random import randint
2
3
def guessing_game():
4
5
print('Welcome to the Guessing Game')
6
print('If you would like to exit, just type exit')
7
8
while True:
9
10
num = randint(1,9)
11
guesses = []
12
13
while True:
14
15
try:
16
guess = int(input('Please guess a number between 1 and 9: '))
17
except:
18
print('Please enter a numerical value')
19
continue
20
else:
21
if guess < 1 or guess > 9:
22
print('OUT OF RANGE')
23
continue
24
else:
25
if guess == num:
26
print(f'Congratulations, you guessed the correct number in {len(guesses)} guesses')
27
break
28
else:
29
if guess > num:
30
print('TOO HIGH')
31
guesses.append(guess)
32
continue
33
else:
34
print('TOO LOW')
35
guesses.append(guess)
36
continue
37
38
39
play_again = input('Enter exit to stop playing: ')
40
41
if play_again == 'exit':
42
break
43
else:
44
continue
45
This is the error I get:
JavaScript
1
5
1
File "<ipython-input-1-09b3cd044357>", line 42
2
break
3
^
4
SyntaxError: 'break' outside loop
5
Advertisement
Answer
Check the indentation of the last few lines and make sure they’re inside the
while
loop and it will work.
JavaScript
1
44
44
1
from random import randint
2
3
def guessing_game():
4
print('Welcome to the Guessing Game')
5
print('If you would like to exit, just type exit')
6
7
while True:
8
9
num = randint(1,9)
10
guesses = []
11
12
while True:
13
14
try:
15
guess = int(input('Please guess a number between 1 and 9: '))
16
except:
17
print('Please enter a numerical value')
18
continue
19
else:
20
if guess < 1 or guess > 9:
21
print('OUT OF RANGE')
22
continue
23
else:
24
if guess == num:
25
print(f'Congratulations, you guessed the correct number in {len(guesses)} guesses')
26
break
27
else:
28
if guess > num:
29
print('TOO HIGH')
30
guesses.append(guess)
31
continue
32
else:
33
print('TOO LOW')
34
guesses.append(guess)
35
continue
36
37
38
play_again = input('Enter exit to stop playing: ')
39
40
if play_again == 'exit':
41
break
42
else:
43
continue
44
Repl: https://repl.it/repls/TurbulentImpeccableObjectdatabase