【问题标题】:Getting an error when trying to get this to work尝试使其正常工作时出错
【发布时间】:2017-09-17 18:45:36
【问题描述】:

我有一个“猜数字”作业并编写了程序,但我无法让这个错误消失。 "unindent 不匹配任何外部缩进级别"

import random

randomNumber = random.randrange(1, 100)

def main():
    print ""
    number = input("I have a number between 1 and 100. Can you guess my number? Please type your first guess: ")
    guess(number)

def guess(number1): correct = False
while not correct:
        if number1 > randomNumber:
            print "Too high. Try again."
            print ""
        elif number1 < randomNumber:
            print "Too low. Try again."
            print "" 
        elif number1 == randomNumber:
            Break
        number1 = input ("What number do you guess? ")
    if number1 == randomNumber
        playAagain = raw_input ("Excellent! You guessed the number! Would you like to play again (y or n)? ")

    if playAagain == "y": 
        main()

main()

说明书说

对于本次作业,您将从头开始编写程序! 请按照下面发布的说明进行操作。

第 1 级。编写一个 Python 程序,让用户猜一个数字 介于 0 到 100 之间,并提供反馈,告诉用户猜测是 太高或太低,直到他们正确猜出数字。

Level 2. 用户猜对数字后,添加输出 告诉用户猜了多少次。

Level 3。每次猜测后猜测的范围都会发生变化。为了 例如,如果用户的第一个猜测是 50,而反馈是 猜测太高了,下一个猜测应该在 0 到 50 之间。帮助 用户,每次被询问时更新猜测的新范围 再次猜测。

第 4 级。如果用户不小心输入了不正确的数字怎么办? 在那个范围内?提供猜测超出范围的反馈 范围,然后在提示时不要更改猜测的范围 另一个猜测。让我们也不要计算超出范围的猜测 他们的猜测总数。

Level 5. 用户猜对后,询问是否 想再玩一次。如果他们回复的第一个字母是 'y' 或 'Y' 从 0 到 100 重新开始。提示:放 您当前的循环让用户在另一个循环中猜测 重新开始游戏。

6级。每次用户猜对的数字包括 给出正确猜测所需的最少猜测次数的反馈 数字(低/最佳分数)。提示:可以初始化低分 非常高的数字,比如 100 次猜测。

【问题讨论】:

  • 这意味着您的代码没有正确缩进。
  • 欢迎来到 StackOverflow。请阅读并遵循帮助文档中的发布指南。 Minimal, complete, verifiable example 适用于此。在您发布 MCVE 代码并准确描述问题之前,我们无法有效地帮助您。具体来说,提供整个错误消息,包括行号信息。此外,当您尝试解决语法错误时,向我们提供分配规范并不重要。
  • 正确 = false 应该从新行开始并缩进 4 个空格,如果不正确:也应该缩进 4 个空格。

标签: python python-2.7


【解决方案1】:

guess的标题改成这样:

def guess(number1):
    correct = False
    while not correct:
        if number1 > randomNumber:

您的最后一次号码检查还需要一个冒号:

if number1 == randomNumber:

【讨论】:

  • 非常感谢!我还有另一个问题,当你猜对了数字时,如果你选择 y 或 n,它会询问你是否想再玩一次,它会给我这个错误消息。想你能帮忙吗?回溯(最近一次通话最后):文件“C:/Python27/guess_the_number.py”,第 29 行,在 main() 文件“C:/Python27/guess_the_number.py”,第 8 行,在主要猜测(数字)文件“C:/Python27/guess_the_number.py”,第 21 行,猜测中断名称错误:未定义全局名称“中断”
  • 你拼错了“break”。关键字不大写。仅供参考,一般来说,一个新问题需要一个新问题发布。不过,这只是一个字符错误。
  • 当你得到解决方案时,请记得给有用的东西投票并接受你最喜欢的答案(即使你必须自己写),这样 Stack Overflow 才能正确存档问题。跨度>
  • 谢谢,我不能投票赞成或反对,因为我没有 15 或更多的“声誉”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-06
  • 2018-11-03
相关资源
最近更新 更多