Jun-23-2021, 05:24 PM
A couple of comments:
Why are you converting the user input to an int? Calling int(input()) will crash if the user enters anything that does not represent an integer. Since your program does not actually use the integer value, I would convert the random number to a string and compare strings. That way the user can enter anything without crashing the program.
While loops with counters aren't used much in Python. Use a for loop and break instead. In the example below the for loop gives the player 3 chances go guess the number. If the player guesses correctly the program breaks out of the for loop. If the player does not guess correctly the for loop completes and the "else:" code is executed. I don't know if any other programming language has for..else, but I find myself using it often in Python.
Why are you converting the user input to an int? Calling int(input()) will crash if the user enters anything that does not represent an integer. Since your program does not actually use the integer value, I would convert the random number to a string and compare strings. That way the user can enter anything without crashing the program.
While loops with counters aren't used much in Python. Use a for loop and break instead. In the example below the for loop gives the player 3 chances go guess the number. If the player guesses correctly the program breaks out of the for loop. If the player does not guess correctly the for loop completes and the "else:" code is executed. I don't know if any other programming language has for..else, but I find myself using it often in Python.
import random while True: number = str(random.randint(1,10)) for guess in range(3): if input('Guess a number from 1 to 10: ') == number: print('You guessed correctly!') break else: print('Your guessed wrong.') else: print(f'You are out of guesses. The number was {number}') if input('Would you like to play again (y/n)? ') not in 'yY': break