我们在这个while循环中遇到错误,但是看不到为什么

时间:2018-09-18 14:30:04

标签: python-3.x repl.it

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

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 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

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

首先guess != guess+1毫无用处,您正在检查guess是否不等于guess+1(不是),这意味着该行始终返回{{1} },那么您什么也不做。

我相信你打算写:

True

将猜测数增加1

接下来,您需要将第二个输入转换为guessTaken += 1 进行比较以进行猜测,所以我建议这样做:

int

代替

if guess == int(input()): 

最后,我怀疑一旦猜到数字就想退出循环,因此我将在if条件中添加一个if guess == input(): 语句:

break

答案 2 :(得分:0)

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

let datePart = "09-18-2018"
let timePart = "4:22 pm"

let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "MM-dd-yyyyhh:mm aZ"
let date = dateFormatter.date(from: datePart + timePart + "+0000")!
let timestamp = Int(date.timeIntervalSince1970)
print(timestamp)

答案 3 :(得分: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