功能不在" if"内运行声明Python 3

时间:2016-11-06 03:01:10

标签: python python-3.x

我试图用Python写一个逃脱房间游戏 当我使用pycharm运行代码时,进程以&#34结束;进程以退出代码0结束。"

在定义功能时是否有问题?
这是我的代码(有点冗长):

choice = None

def main_choice():

    print("1. Examine door")

    print("2. Examine painting")

    print("3. Examine desk")

    print("4. Examine bookshelf")

    choice == input("Make your choice: ")


def door():

    print("1. Try to open door")

    print("2. Take a closer look")

    print("3. Go back to where you were.")

    door_choice = input("What now? ")

    if door_choice == "1":

        print("The door is too heavy to open with your bare hands.")

        door()

    if door_choice == "2":

        print("There is a red light above the door, but it seems to have no purpose.")

        print("You notice a 9 key keypad next to the door. It looks like it will accept a 3 digit code.")

        keypad_code = input("Would you like to enter a code?").lower

        if keypad_code == " yes":

             guess = input("ENTER CODE: ")

             if guess == complete_key:

             print("The light turns green and you hear the sound of a mechanical lock unlocking. The door opens.")

             print("YOU WIN!!!")

        if guess != complete_key:

             print("Wrong code.")

             main_choice()

    if door_choice == "3":

        main_choice()

    else:

        print("You didn't answer")


main_choice()

if choice == "1":

    print("You walk to the door")

    door()

我认为这可能是最后一次"如果"声明,但我不是肯定的。

2 个答案:

答案 0 :(得分:1)

您需要在choice == input("Make your choice: ")函数中将choice = input("Make your choice: ")更改为main_choice

def main_choice():

    print("1. Examine door")

    print("2. Examine painting")

    print("3. Examine desk")

    print("4. Examine bookshelf")

    choice = input("Make your choice: ")

否则choice变量仍为Noneif choice == "1":始终为假。

答案 1 :(得分:1)

你应该写:

choice = input("Make you choice: ")

而不是:

choice == input("Make you choice: ")

Double equals符号返回布尔值而不是更改值。