したがって、私はまったくの初心者であり、Zed Shaw の Learn Python The Hard Way に取り組んでいます。なんらかの理由で、今日プログラムを実行していると、ランダムに異なる出力が得られます。以下は、私のコードの一部と、一貫性のない入出力の一部です。私はこれを連続して何度も試しましたが、コードが適切に機能して次の関数を呼び出すこともあれば、その大部分をスキップすることもあります。
これが一貫して実行されていない私のコードです...
def bear_room():
print "There is a bear in 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 the 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. You can go through it 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 have no idea what that means."
これは一貫性のない出力の一部です... ここでは、プログラムを実行し、プロンプトで入力「左」を使用します。
Theresa-Beckers-MacBook-Pro:Summer 2013 Python leafgirl12$ python ex35.py
You are in a dark room.
There is a door to your right and left
Which one do you take?
>left
You stumble around the room until you starve. Good job!
ここでは、直後に同じことを行いますが、今回は実行されますが、出力は異なります。
Theresa-Beckers-MacBook-Pro:Summer 2013 Python leafgirl12$ python ex35.py
You are in a dark room.
There is a door to your right and left
Which one do you take?
>left
There is a bear in here.
The bear has a bunch of honey.
The fat bear is in front of another door.
How are you going to move the bear?
C++ で新しい変数を作成するときに、スタックとヒープの問題になる可能性があることは知っていますが、同じコンピューター上で Python 関数の答えが見つかりません。また、表示されていないインデント エラーがある場合に備えて、コードを再入力しました。続行して「ハニーを取る」と入力すると、正しい出力が得られることが数回ありましたが、これは半分の時間しか機能せず、「taunt bear」はまだまったく機能していません。それは他のものにまっすぐに通り抜けます。何かご意見は?これは理にかなっていますか?