Python 如何获得else语句的正确缩进?
使用Python 3.8.2 shell,我收到以下错误:Python 如何获得else语句的正确缩进?,python,python-3.x,indentation,Python,Python 3.x,Indentation,使用Python 3.8.2 shell,我收到以下错误: >>> age = 15 >>> if age > 17: print ("You can vote") else: SyntaxError: invalid syntax 在阅读了if/else之后,我理解else语句必须与if语句具有相同的缩进,但是在print语句之后点击Enter时,else就落在print下面了 如果我在else之前删除,将其拉到左边
>>> age = 15
>>> if age > 17:
print ("You can vote")
else:
SyntaxError: invalid syntax
在阅读了if/else之后,我理解else语句必须与if语句具有相同的缩进,但是在print语句之后点击Enter时,else就落在print下面了
如果我在else之前删除,将其拉到左边距,然后空格四次,则会出现以下错误:
>>> age = 15
>>> if age > 17:
print ("You can vote")
else:
SyntaxError: unindent does not match any outer indentation level
想法?谢谢。在shell中,不能添加空行。否则,以下是您的操作方法:
>>> age = 15
>>> if age > 17:
... print ("You can vote")
... else:
... print ("You can't")
...
You can't
>>>提示不算作缩进。当您使用Python的普通命令行版本时,当您在if语句中键入每行代码时,这些行将填充。。。在前面,避免混淆缩进量。IDLE似乎不能做到这一点。我强烈建议不要使用它,一般来说,它不会做任何你已经拥有的简单工具没有做过的有用的事情,而且它确实增加了像这样微妙的陷阱
因为if有零缩进,else也应该有零缩进。此外,您应该一致地使用空格来缩进;如果打印使用制表符缩进,则不匹配任何数量的空格
在任何情况下,当在解释器提示下键入代码块时,都不允许使用空行-空行是表示代码块已完成的方式,Python语法要求您在else中添加一些内容。老实说,如果您还不理解这一点,您就不知道Python。首先做一个教程。密切注意打印行第一次缩进的方式,以及第二次缩进的方式。而且,外壳实际上并不完全像那样。密切注意。注意当你点击回车键时,它是如何填充一个。。。?这是精心选择的,与>>>>的宽度相同,以避免混淆缩进的大小。事实上,请稍候-您使用的是IDLE吗?老实说,我建议你不要为此烦恼。要使用pythonshell,只需使用cmd/Terminal窗口并运行Python就更简单了;要编辑.py文件,请使用您首选的文本编辑器,而不是文字处理器。谢谢,Karl。我在用空闲的。我会尝试使用你推荐的其他方法,然后向你汇报。卡尔成功了。谢谢