【问题标题】:Having issues with syntax in a while loop [closed]在while循环中遇到语法问题[关闭]
【发布时间】:2021-08-09 15:02:26
【问题描述】:

我正在尝试编写一个带有while循环的python代码,用户必须猜测正确的数字才能退出循环。我已经看到了有关如何使代码正常运行的答案,但是每次尝试运行代码时都会出现语法错误。我不知道语法有什么问题,对我来说它看起来正确吗?请帮忙。

这是我的代码:

secret_number = 777

guess_number = int(input("Enter your guess here: ")

while guess_number != secret_number:
    print("Ha ha! You're stuck in my loop!")
    guess_number = int(input("Enter your guess here: ")
    
print("Well done, muggle! You are free now.") 

这是错误:

 File "main.py", line 5

    while guess_number != secret_number:

        ^

SyntaxError: invalid syntax

【问题讨论】:

  • 在第二行和第五行末尾添加括号。
  • 循环中的同一行存在同样的错误。

标签: python while-loop syntax cpython


【解决方案1】:

除了缺少) 的错字之外,您重复错误,可能是由于复制和粘贴有问题的行。对需要运行至少一次的循环使用以下习惯用法来避免这种情况。

while True:
    guess_number = int(input("Enter your guess here"))
    if guess_number == secret_number:
        break
    print("Ha ha! You're stuck in my loop!")

print("Well done, muggle! You are free now.")

现在将至少收集一次输入,但循环可以在打印错误消息并开始下一次迭代之前终止。

有些语言有两种不同的循环结构,用于检查主体执行前后的条件。 Python只有前体形式,所以你需要使用像break语句这样的显式流控制来模拟后体形式。

【讨论】:

    【解决方案2】:

    您在

    之后缺少右括号
    int(input("..."))
    

    为避免此类错误,请尝试使用 pycharmvisual studio 之类的环境,它们会让您注意到此类错误

    【讨论】:

    • 要格式化内联代码,你需要在开始和结束时使用`(不是'而是`),格式化代码块在底部使用language (where language is the programming language that you are formatting) at the start and (不是'''而是``),我会编辑,所以你可以看看
    • IDE 也非常棒,但正如这里所建议的那样:youtube.com/watch?v=oij82Cp9K1A,新手应该首先尝试在没有它们的情况下学习代码或类似的东西,以便他们更好地学习语法并更好地学习,但再说一遍,这只是一个人的意见(有相当有效的观点)并确保新手可以使用 IDE
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-02
    • 2016-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多