If Statements in IDLE python3.9 无法正常运行

If Statements in IDLE python3.9 Not Functioning Properly

Screenshot of Issue

我正在尝试学习 python 并尝试在 IDLE 中尝试简单的 if 语句,该语句随 macOS Catalina 10.15.7 的 python3.9 安装一起提供。

我正在按照 Python 自己的网站 (https://docs.python.org/3.9/tutorial/controlflow.html) 上的初学者指南进行操作,但出于某种原因,IDLE shell 不允许我编写 elif 条件.每当我编写第一个 if 语句时,按回车键,输入该条件的代码,然后再次按回车键,它会跳到下一行,如果我尝试输入和 elif 或其他条件,当我输入时它会给我一个语法错误按回车键转到下一行。我试过查找此内容,但找不到任何信息或任何有类似经历的人。

我的文字是这样的...

x = int(input("Please enter an integer: "))

-输入整数-

if x < 0:

x = 0
print('Negative changed to zero'`

这里换行,我输入...

elif x == 0:

我收到一个错误,提示语法无效,尽管它迫使我换行。不知道该怎么做,但希望得到有关此问题的任何提示或建议。

你快到了。您对 elif 的缩进是错误的。 Python非常讲究缩进。 您目前正在做:

if x < 0:
    x = 0
    print('Negative changed to zero')
    elif x == 0:
    print('Zero')

你应该这样做:

if x < 0:
    x = 0
    print('Negative changed to zero')
elif x == 0:
    print('Zero')

你没有正确地“out-denting”。您必须在缩进处退格,然后从那里继续,而不是为 elif 打一个完整的 return 。一旦你得到 >>> 提示,你的 if 语句就被关闭了;您不能再添加任何 elifelse 子句。 您的会话应如下所示:

>>> x = 2
>>> if x < 0:
    x = 0
    print("TRUE")
elif x == 0:
    print("ELIF")