私は幽霊のような家を経由して冒険のゲームの事であるpythonプログラムを作っています。その中の大きなものの1つはowned_items
というリストです。これは家の中で見つけたとき、または開始時にrandom.choice
によって与えられたときにそれに付けられた "マッチのボックス"や "トーチ"のような文字列によって表されるアイテムを得る。時には、彼らに状況が提示されるとき、それらが与えられる選択は、彼らが特定のアイテムを持っているかどうかに依存します。Python:if文を実行していない場合の出力
マイコード:
#bullets is the variable for pistol ammo. During my testing of this function, it is at 5 when it should start
bullets=5
owned_items=[]
ronald_items=["a glass bottle", "a pistol", "a torch", "a small glass of oil", "a box of matches", "a can of spray paint", "a small knife", "a pair of surgical gloves", "a blessed amulet"]
owned_items.append(random.choice(ronald_items))
ronald_items.remove(owned_items[0]
owned_items.append(random.choice(ronald_items))
ronald_items.remove(owned_items[1])
#This part is in the actual definition where the problem appears when it should run
def skeleton_choice():
if "a glass bottle" in owned_items:
print('type "glass bottle" to attack the skeletons with that bottle')
if "a pistol" in owned_items and bullets>1:
print('type "shoot" to try firing your pistol at the skeletons')
if "a small knife" in owned_items:
print('type "small knife" to use your small knife against the skeletons')
if "a kitchen knife" in owned_items:
print('Type "kitchen knife" to use your kitchen knife against the skeletons')
if "a blessed amulet" in owned_items:
print('Type "amulet" to use the blessed amulet to make this a fairer fight')
print('Type "hands" to just fight the skeletons with your body')
print('Type "run" to try and get away from the skeletons')
私は文、印刷物のどれもが現れた場合、私はこれらの内の項目の3を持っていることを知っていても。私はelifsとelseの代わりにifsを使っています。なぜなら、1つではなく、すべてのもののプリントを表示したいからです。たとえば、ガラス瓶と台所用ナイフを持っている場合は、ボトルとナイフの印刷ステートメントを伝えたいと思います。
これが完全なコードで、 'def skeleton_choice()'のインデントエラーを無視すると、関数が呼び出されて実行されません。 – roganjosh
あなたの関数の意図が間違っていて、 'def skeleton_choice(input)'のような入力がないようです。 – Bryan
質問やコピー&ペーストに失敗したかどうかわかりませんが、骨格のskに沿って、defではなく。私が見ているインデントに間違いはありません。 –