-1
print("Guess a number between 1-10")
number = int(input())

import random
winning_num = random.randint(1,10)
numchance = 1

while True:
    if number == winning_num :
        print(f"You Won in {numchance} guesses")
        break
    elif number > winning_num :
        print("Too High")
        else:
            print("Too Low")
        print("Try Again")
        number = int(input())   
    numchance += 1 

There is something wrong with else block it keeps on giving syntax error(invalid syntax)

print("Guess a number between 1-10")
number = int(input())

import random
winning_num = random.randint(1,10)
numchance = 1

while True:
    if number == winning_num :
        print(f"You Won in {numchance} guesses")
        break
    else :
        if number > winning_num :
            print("Too High")
        else :
            print("Too Low")
        print("Try Again")
        number = int(input())   
    numchance += 1 

After editing my code it does'nt give any error but what i was doing wrong in the previous code?

Gabio
  • 9,126
  • 3
  • 12
  • 32

1 Answers1

1

You have invalid indentation in your if-else block. The correct structure should be:

if condition1:
    # code for condition1 
elif condition2:
    # code for condition2
...
elif conditionN:
    # code for conditionN
else:
    # code if none of conditions 1-N are met 

Try to change you code to:

while True:
    if number == winning_num:
        print(f"You Won in {numchance} guesses")
        break
    elif number > winning_num:
        print("Too High")
    else:
        print("Too Low")
    print("Try Again")
    number = int(input())   
    numchance += 1 
Gabio
  • 9,126
  • 3
  • 12
  • 32