'While Loop Guessing Number Game - Python
I'm trying to make a 'guess the number between 1-10' game but the while loops seems to keep running. I want to program to let the user guess a number then display if its too high or low etc then start again automatically (loop) to allow the user to pick again. This code makes it run forever though. Can you guys help me?
import random
def numberGuess():
printNow("I'm thinking of a number between 1 and 10")
guess = 0 # give guess a starting value
randNum = random.randrange(1,11) # this line generates a random number
guess = int(input("Try to guess the number:")) # ask user for a number
print randNum
while guess != randNum:
if (guess == randNum):
print "You got it!"
if (guess > randNum):
print "Wrong! You guessed too high"
if (guess < randNum):
print "Wrong! You guessed too low"
Solution 1:[1]
You forgot to guess inside the loop
while guess != randNum:
guess = int(input("Try to guess the number:"))
if (guess > randNum):
print "Wrong! You guessed too high"
if (guess < randNum):
print "Wrong! You guessed too low"
print "You got it!"
Solution 2:[2]
If you move the input statement into the while loop, you should be fine.
Solution 3:[3]
Use this:
import random
def numberGuess():
print("I'm thinking of a number between 1 and 10")
randNum = random.randrange(1,11) # this line generates a random number
while guess != randNum:
guess = int(input("Try to guess the number:")) # ask user for a number
if (guess == randNum):
print "You got it!"
if (guess > randNum):
print "Wrong! You guessed too high"
if (guess < randNum):
print "Wrong! You guessed too low"
numberGuess()
Solution 4:[4]
import random
def numberGuess():
randNum = random.randrange(1,11) # this line generates a random number
guess = int(input("Try to guess the number:")) # ask user for a number
print (randNum)
while True:
if (guess == randNum):
print ("You got it!")
break
if (guess > randNum):
print ("Wrong! You guessed too high")
guess = int(input("Try to guess the number:")) # ask user for a number
if (guess < randNum):
print ("Wrong! You guessed too low")
guess = int(input("Try to guess the number:")) # ask user for a number
numberGuess()
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Ashoka Lella |
| Solution 2 | Motine |
| Solution 3 | Kenly |
| Solution 4 | eyal |
