While Loop Guessing Number Game - Python

2019-10-01 09:48发布

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"

3条回答
Rolldiameter
2楼-- · 2019-10-01 10:29

If you move the input statement into the while loop, you should be fine.

查看更多
等我变得足够好
3楼-- · 2019-10-01 10:30

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()
查看更多
走好不送
4楼-- · 2019-10-01 10:34

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!"
查看更多
登录 后发表回答