0

这是我编辑的一个简单的小猜谜游戏。我知道它应该运行良好,但它一直给我一个错误。在第 12 行,它说“unindent 不匹配任何外部缩进级别”,箭头指向“guess = input()”中的右括号。有什么帮助吗?我看不出有什么问题!

# This is a guess the number game.
import random

guessesTaken = 0
print('Hello! What is your name?')
myName = input()
number = random.randint(1, 20)
print('Well, ' + myName + ', I am thinking of a number between 1 and 20.')

while guessesTaken < 6:
      print('Take a guess.')
    guess = input()
    guess = int(guess)
    guessesTaken = guessesTaken + 1
    if guess < number:
        print('Your guess is too low.')
    if guess > number:
        print('Your guess is too high.')
    if guess == number:
        break
if guess == number:
    guessesTaken = str(guessesTaken)
    print('Good job, ' + myName + '! You guessed my number in ' + guessesTaken + '         guesses!')
if guess != number:
    number = str(number)
    print('Nope. The number I was thinking of was ' + number)
4

2 回答 2

3

这里:

while guessesTaken < 6:
      print('Take a guess.')
    guess = input()
    # the rest of the code

print('Take a guess.')应该有4 个空格 indentation。像这样。。

while guessesTaken < 6:
    print('Take a guess.')
    guess = input()
    # the rest of the code
于 2013-04-22T17:06:50.377 回答
1

Thanakron Tandavas 向您展示了路径,但整个代码以防万一...

# This is a guess the number game.
import random

guessesTaken = 0
myName = raw_input('Hello! What is your name?\n')
number = random.randint(1, 20)
print('Well, ' + myName + ', I am thinking of a number between 1 and 20.')

while guessesTaken < 6:
    print('Take a guess.')
    guess = input()
    guess = int(guess)
    guessesTaken = guessesTaken + 1
    if guess < number:
        print('Your guess is too low.')
    if guess > number:
        print('Your guess is too high.')
    if guess == number:
        break
if guess == number:
    guessesTaken = str(guessesTaken)
    print('Good job, ' + myName + '! You guessed my number in ' + guessesTaken + '         guesses!')
if guess != number:
    number = str(number)
    print('Nope. The number I was thinking of was ' + number)

请注意,我使用 raw_input() 而不是 input(),因为我使用 2.7.3 :) 干杯!

于 2013-04-22T18:00:40.590 回答