1

私は、pythonの学習からの演習の1つを難しい方法で実行しようとしていますが、何かに行き詰まっています。関数を作成しましたが、ステートメントの 1 つが満たされている場合は、それを別の関数に入れたいと思います。これは私がそれをやろうとしている方法の概要です:

def room_1():
    print "Room 1"
    button_push = False

    while True:
       next = raw_input("> ")

        if next == "1":
            print "You hear a click but nothing seems to happen."
            button_push = True

        elif next == "2":
            print "You enter room 2"
            room_2()

def room_2():
    print "Room 2"

    while True:
        next =raw_input("> ")

        if next == "1" and button_push:
            print "You can enter Room 3"
            room_3()

button_push が満たされている場合、room_2 で確認したいと思います。誰か助けてくれませんか?

4

1 に答える 1

1

button_push次の部屋に引数として渡すことができます。

def room_1():
    print "Room 1"
    button_push = False

    while True:
       next = raw_input("> ")

        if next == "1":
            print "You hear a click but nothing seems to happen."
            button_push = True

        elif next == "2":
            print "You enter room 2"
            room_2(button_push)  # pass button_push as argument

def room_2(button_push):  # Accept button_push as argument
    print "Room 2"

    while True:
        next =raw_input("> ")

        if next == "1" and button_push:  # button_push is now visible from this scope
            print "You can enter Room 3"
            room_3()
于 2013-08-24T23:45:02.860 に答える