-2
correct = input("Is this correct audio?")
if input = "yes":        
stream.stop_stream()

日食告诉我:是预期的,但我不明白为什么它这么说

4

1 回答 1

2

您在这里遇到三个问题:

  • 您需要用于==比较值,而不是=. 在 Python 中,=仅适用于赋值语句,不适用于比较表达式。
  • 您需要缩进该if行下方的块。
  • 你需要比较correct,不是inputinput是一个函数,没有一个函数等于字符串"yes"。但是correct是您从调用该函数中得到的字符串,它将等于该字符串"yes"(当然,只要这是用户键入的内容)。

你得到的错误来自第一个错误。

if条件——关键字if和之间的部分:——必须是一个表达式。但input = "yes"不是一个表达式;这是一个声明。那是一个错误。但是日食试图猜测你的真正意思。input = "yes"可能不是一个表达式,但input它本身就是,所以它猜你的意思是if input:. 它猜错了,但是,嘿,尝试点,对吧?

如果你修复它SyntaxError,你接下来会得到一个IndentationError,这很容易理解和修复。

如果你解决了这个问题,最后一个就更难调试了。没有错误,只是比较总是错误的,不管你输入什么。在发现像这样的简单错误之前,您可能会发疯地试图弄清楚是否需要删除换行符或其他一些您忽略的奇怪事情……</p>

所以:

correct = input("Is this correct audio?")
if correct == "yes":
    stream.stop_stream()
于 2013-10-08T22:34:33.653 回答