I'm trying to make it so that my program will write the input again if the answer isn't within 5 to 10 but when I try to use while True and continue it says that the continue is not properly in loop. It only fixes when I take away the space infront of the line but that creates an "syntax error" on the "else:" line. I cannot move the "continue" forward one space or more or backwards any spaces either. same for the "while True" line.
import random
number = random.randint(5,10)
name1 = input("What is your name? ")
while True:
guess2 = int(input("Pick a number between 5 and 10\n"))
if guess2 <5 or guess2 >10:
print("this isn't a number between 5 and 10 please try again.")
continue
else:
print("\nYour guess was", guess2)
print("the computer guessed", number)
if guess2 != number:
print(name1 + " you have lost try again")
else:
print(name1 + " you have Won the game try again if you want to")
print("\nNAME:",name1,"\nUSER GUESS:",guess2,"\nCOMPUTER CHOICE:",number,"\nGAME OVER")
I have tried looking up an explanation but to no avail since they don't work either.
Continue is a statement for flow control, used to continue the iteration over the next value. In this case, it's used in a for loop.
for number in range(10):
if number % 2 == 0:
print(f'Number {number} is pair')
continue
print(f'Number {number} is not pair')
In this case, everytime you find a pair number it will continue and not print the second statement. Inside functions where you need to return something and then the iteration stops, it's pretty usefull.
def find_the_first_odd_number(sequence_long: int):
for number in range(sequence_long):
if number % 2 == 0:
continue
else:
return number
first_odd = find_the_first_odd_number(10)
print(first_odd)
If you don't have a for loop and you want to not do anything, the propper statement is "pass" to continue the flow or break, to stop the process.