Issue
really a beginner here. I was following "Automate the Boring Stuff with Python" book and the author makes you write a short "guess the number" program. The book gives a solution but I wanted to pursue my own one. I do not know why this program exits on 2nd input. Can you tell me whats wrong with it, I was not able to figure it out even though its a pretty basic code.
import random
secretNumber = random.randint(1,20)
print("I got a number in my mind from 1 to 20")
guess = int(input("Take a guess."))
numberOfTries = 0
if guess < secretNumber:
print("Your guess is lower than my number")
numberOfTries = numberOfTries + 1
int(input("Take a guess."))
elif guess > secretNumber:
print("Your guess is higher than my number")
numberOfTries =+ 1
guess = int(input("Take a guess."))
if guess == secretNumber:
print("You guessed right!")
print("You found my number in" + str(numberOfTries))
Solution
Here's the code properly formatted:
import random
secretNumber = random.randint(1,20)
print("I got a number in my mind from 1 to 20")
guess = -1
numberOfTries = 0
while guess != secretNumber:
# inserted space after input
guess = int(input("Take a guess: "))
if guess < secretNumber:
print("Your guess is lower than my number")
# changed to +=
numberOfTries += 1
# removed input()
elif guess > secretNumber:
print("Your guess is higher than my number")
# changed the =+ to +=
numberOfTries += 1
if guess == secretNumber:
print(f"You guessed right!\nYou found my number in {numberOfTries} tries!")
I suggest not copy-pasting but reading the comments and understanding the changes.
Furthermore, here is a bit more advanced code (just the while
loop part):
while guess != secretNumber:
guess = int(input("Take a guess: "))
if guess != secretNumber:
if guess > secretNumber:
higher_lower = "higher"
else:
higher_lower = "lower"
numberOfTries += 1
print(f"Your guess is {higher_lower} than my number")
Good luck with python!
Answered By - Eilonlif
0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.