这个if语句错在哪里?

q = "是什么消息?"
print("有个消息")
ans = input("")
  if ans ==q:
    print ("aaa")
    break
  else:
    print("输入有误")

if语句报错

img

跟其它代码核对了一下,没有发现有问题,问题出在哪里?

望采纳


这个 if 语句中有一个语法错误。在 Python 中,if 语句的冒号后面必须缩进一个或多个空格,表示下一行代码的缩进层级。在这个例子中,if 语句的冒号后面没有缩进,所以 Python 会抛出一个 SyntaxError 异常。


正确的写法应该是这样的:

q = "是什么消息?"
print("有个消息")
ans = input("")
if ans == q:
    print ("aaa")
    break
else:
    print("输入有误")

需要注意的是,在这个例子中,break 语句并没有被正确地使用。break 语句只能在循环语句中使用,用于终止循环。在这个例子中,如果你想要在 if 语句中终止循环,可以将 if 语句和 break 语句放在一个循环语句中,例如:

while True:
    q = "是什么消息?"
    print("有个消息")
    ans = input("")
    if ans == q:
        print ("aaa")
        break
    else:
        print("输入有误")

这样就可以实现一个无限循环,直到用户输入正确的消息为止。