如何解决Python中的缩进错误?

2024-04-25 09:24:11 发布

您现在位置:Python中文网/ 问答频道 /正文

当我运行下面的代码时,在许多行中都会出现缩进错误,例如第6行和放置exit(0)的行:

from sys import exit

def gold_room():
    print "This room is full of gold, How much do you take?"

    next = raw_input("> ")
    if "0" in next or "1" in next:
        how_much = int(next)
    else:
        dead("Man learn to type a number!")

    if how_much < 50:
        print "Nice, you're not greedy, you win!"
        exit(0)
    else:
        dead("You greedy bastard!")


def bear_room():
    print "There is a bear here."
    print "The bear has a bunch of honey."
    print "The fat bear is in front of another door."
    print "How are you going to move a bear?"
    bear_moved = False

    while True:
        next = raw_input("> ")

        if next == "take honey":
            dead("The bear looks at you and slaps your face off.")
        elif next == "taunt bear" and not bear_moved:   
            print "The bear has moved from the door and you can go now."
            bear_moved = True
        elif next == "taunt bear" and bear_moved:
            dead("The bear gets pissed off and chews your leg off.")
        elif next == "open door" and bear_moved:    
            gold_room()
        else:
            print "I got no idea waht that means."


def cthulhu_room():
    print "Here you see the great evil Cthulhu."
    print " He, it, whatever stares at you and you go insane."
    print "Do you flee for your life or eat your head?"

    next = raw_input("> ")

    if  "flee" in next:
        start()
    elif "head" in next:
        dead("Well that was tasty!")
    else:
        cthulhu_room()


def dead(why):
    print why, "Good job!"
    exit(0)

def start():
    print "You are in dark room."
    print "There is a door on your right and left."
    print "Which one do you take?"

    next = raw_input("> ")

    if next == "left":
        bear_room()
    elif next == "right":
        cthulhu_room()
    else:
        dead("You stumble around the room until you starved.")


start()

Tags: andtheinyouyourifdefelse
2条回答

你在混合标签和空格。你知道吗

要在Linux上修复文件,请执行以下操作:

tr \\t '    ' < file_in.py > file_out.py

在Windows(7+):

powershell -Command "(gc file_in.py) -replace '\t', '    ' | Out-File file_out.py"
  1. 不要把标签和空格混在一起。你知道吗
  2. 使用将用空格替换制表符的工具(例如PyCharm)。你知道吗

顺便说一句,你可以用PyCharm来修复你的缺口。你知道吗

相关问题 更多 >