私は2番目の入力を第1の方向に入力するプログラムを作成しています& 2番目のステップは1行で、split( '')を使ってこれを実行しますwhileループではwhileループ 彼はちょうど空白行を入力し、終了するが、それはなぜ知らないが起こっていないエントリより入力したくない...これは私のコードPython - リスト内のインデックスエラー
while True:
movement = input().split(' ')
direction = movement[0].lower()
step = int(movement[1])
if movement != '' or movement != 0:
if direction == 'up' or direction == 'down':
if y == 0:
if direction == 'down':
y -= step
else:
y += step
else:
if direction == 'down':
y -= step
else:
y += step
elif direction == 'left' or direction == 'right':
if x == 0:
if direction == 'right':
x -= step
else:
x += step
else:
if direction == 'right':
x -= step
else:
x += step
else:
current = (x, y)
print(original)
print(current)
break
ですが、私は銀行の入力を入力することは、このメッセージ
Traceback (most recent call last):
File "C:/Users/Zohaib/PycharmProjects/Python Assignments/Question_14.py",
line 04, in <module>
step = int(movement[1])
IndexError: list index out of range
を示しています
*しかし、ユーザーは空白行を入力して終了するだけです。だから、空行に 'movement.split()'を使用しようとするとどうなりますか?結果リストにいくつの要素が作成されますか? –
サイドトラッキングは少しですが、実行するコードがifとelseの両方で同じであるため、なぜx == 0の文を追加する必要がありますか? – chngzm
空白行を入力してループを終了します。 –