-3

我们得到的错误是它无限循环并且似乎没有选择一个数字作为正确的选择

import random
print ("Guess a random number between 1 and 10")
number = random.randint(1,10)
guessTaken = 0
print ("Guess!") 
guess = int( input())
while guessTaken < 6:
  guess != guess+1
  print ("Wrong!, guess again")
  if guess == input(): 
     print ("Correct")
print (  )
4

4 回答 4

1

你的代码有很多错误,但我会尽力在这里修复它们:

首先,guess != guess+1您检查是否guess不等于guess+1(不是)毫无用处,这意味着该行始终在返回True,并且您没有对它做任何事情。

我相信你的意思是写:

guessTaken += 1

它将猜测的次数增加 1

接下来,您需要将第二个输入转换为 anint以比较它以进行猜测,因此我建议您这样做:

if guess == int(input()): 

代替

if guess == input(): 

最后,我怀疑您想在猜到数字后退出循环,因此我将break在 if 条件中添加一条语句,如下所示:

if guess == int(input()): 
     print ("Correct")
     break
于 2018-09-18T14:41:58.580 回答
1

循环的终止基于guessTaken; 因为这永远不会改变,一旦进入循环,它就永远不会结束。

于 2018-09-18T14:32:12.937 回答
0

你的代码中有很多错误。不确定您需要什么,但您可以尝试以下方法:

import random
print ("Guess a random number between 1 and 10")
number = random.randint(1,10)
guessTaken = 0
wrong = True
print (number) 
guess = int( input())

while guessTaken < 6: #Maximum guesses are 6
    if guess != number:
        print ("Wrong!, guess again")
        guess = int( input())
    else: 
        print ("Correct")
        break #remember to put break when found correct number
    guessTaken += 1

if guessTaken == 6:
    print ("Maximum guessed")
于 2018-09-18T14:51:10.930 回答
0

我试图修改你的代码:

import random
print ("Guess a random number between 1 and 10")
number = random.randint(1,10)
guessTaken = 1

while guessTaken < 6:
    if guessTaken == 1:
        print('Guess!')
        guess = input()
    else:
        print('Guess Again')
        guess = input()

    if int(guess) == number:
        print('Correct')
        break
    else:
        print('Wrong')

    guessTaken = guessTaken + 1 #counter
于 2018-09-18T14:53:26.210 回答