Python 错误消息:";应为缩进块“;

Python 错误消息:";应为缩进块“;,python,Python,因此,我正在尝试编写一个游戏代码,并尝试连接关卡的不同区域。这部分代码应该允许用户选择进入关卡,但终端不断向我发出以下错误命令:“预期为缩进块” 我试图用四个空格替换所有的标签,反之亦然,但错误不会消失 顺便说一句,我知道在定义一个函数之后,每一行都会缩进四个空格或一个制表符,但这是我的第一个问题,我不知道怎么做。 只需在def后面的每行代码后面再添加四个字符: def entry_hall(): first = raw_input("Go upstairs\nGo forwar

因此,我正在尝试编写一个游戏代码,并尝试连接关卡的不同区域。这部分代码应该允许用户选择进入关卡,但终端不断向我发出以下错误命令:
“预期为缩进块”

我试图用四个空格替换所有的标签,反之亦然,但错误不会消失

顺便说一句,我知道在定义一个函数之后,每一行都会缩进四个空格或一个制表符,但这是我的第一个问题,我不知道怎么做。



只需在
def
后面的每行代码后面再添加四个字符:

def entry_hall():   
    first = raw_input("Go upstairs\nGo forwards\nGo left\nLeave\n:")

确保缩进是恒定的:

def entry_hall():   
    first = raw_input("Go upstairs\nGo forwards\nGo left\nLeave\n:")

    if first in ["Go upstairs", "upstairs"]:
        print "Walking up the stairs" 
        import Upstairs_hallway
    elif first == "Go forwards" or "forwards":
        pass
    elif first == "Go left" or "left":
        pass
    elif first == "Leave":
        print "You're a cop. You are not a baby. Do something else" 
        #restart the script

entry_hall()
另外,
if first==“上楼”或“上楼”
也不能很好地工作。该声明的评价如下:

if (first == "Go upstairs") or "upstairs"
第一个条件,
first==“上楼”
,可能计算为
True
False
,但第二个条件,
“上楼”
,将始终计算为
True
。因为您也在使用
语句,所以第一个条件的计算结果总是
True

使用列表将解决此问题:

if first in ["Go upstairs", "upstairs"]:
另外,在Python中,
import
语句不希望有
.py
扩展。只需提供文件名:

import Upstairs_hallway

不需要我的原始答案,因为您说
def
语句的错误对齐是因为不知道如何在Markdown中正确粘贴它


不过,您还有另一个问题:您的
if
语句是错误的。交换
如果s=='first'或'second':
如果s在['first','second']:-前者将始终为真,因为
'second'
计算结果为真。

请发布堆栈跟踪(即行号)突出显示代码,然后按Ctl-k将其格式化为代码块。请编辑您的代码,使其看起来像它真正的样子,因为这在这里很重要我只是注意到你已经知道缩进了……你几乎肯定不想要这样的条件导入。我对编程相当陌生,所以我只是想知道‘如果第一次==‘上楼’或‘上楼’会有什么结果done@user1626188:查看我的编辑。我写了一个简短的解释,说明会发生什么。@blender谢谢,我确实看到了,但是当我用这个替换我的旧东西时,同样的错误信息弹出在完整的回溯和所有代码的前面。
import Upstairs_hallway