问题
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"
回答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!"
回答2:
If you move the input
statement into the while loop, you should be fine.
回答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()
来源:https://stackoverflow.com/questions/25683715/while-loop-guessing-number-game-python