これは簡単な修正ですが、私はこのIndexErrorの修正方法を理解できません。ユーザーの入力がない場合のPythonインデックスの範囲外
def show_status():
print("\nThis is the " + rooms[current_room]["name"])
rooms = {
1 : { "name" : "Highway" ,
"west" : 2 ,
"east" : 2 ,
"north": 2 ,
"south": 2} ,
2 : { "name" : "Forest" ,
"west" : 1 ,
"east" : 1 ,
"north": 1 ,
"south": 1} ,
}
current_room = 1
while True:
show_status()
move = input(">> ").lower().split()
if move[0] == "go":
if move[1] in rooms[current_room]:
current_room = rooms[current_room][move[1]]
else:
print("you can't go that way!")
else:
print("You didn't type anything!")
ユーザーが移動のために値を入れずに「復帰」を押すと、ゲームは「範囲外のリスト指数」でクラッシュ。私はwhileループで "else"がそれをキャッチしていない理由を理解していません。
クラッシュが 'else'前に起こる:あなたは、例えば、' 'チェックすると移動し、[0] == "行く" 移動する必要があります。問題は、要素がゼロのときに 'move [0]'にアクセスしようとしていることです。 –