質問: 0: print('スライムに'+ str(attack) + 'のダメージ') slime_hit_point -= attack else: print('ゆうしゃに'+ str(attack) + 'のダメージ') my_hit_point -= attack index += 1 if my_hit_point > 0: print('スライムをやっつけた') else: print('ゆうしゃは死んでしまった') ``` このコードでなぜ、スライムと勇者交互にダメージが入るのでしょうか?前回の質問で、indexの値が(0,2,4)と偶数だと勇者が、(1,3,5)と奇数ならスライムがこうげきするという回答がありなしたが、どうしてindexの値が増えるのでしょうか、解答お願いします。
回答: index += 1 は、 index = index + 1 と同じ意味です。 数学的には意味不明な式になってしまっていますが、 プログラミングにおいては『indexに1を足した数を、新たにindexに代入』と読みます。 可視化してみる ``` i = 0 while i < 10: if i % 2 == 0: print('偶数です') else: print('奇数です') i += 1 ``` Visualize Python, Java, JavaScript, TypeScript, and Ruby code execution 上記リンクを開いてしばらく待つと、次のような画面が表示されます。 !可視化 『Forward』を押すと処理を進められます。 これで一段階ずつプログラムを動きを見てみると参考になるかもしれません。 コードの書き方について teratailには、コードを見やすく表示する機能があります。 質問編集画面を開き、コードを選択した状態でボタンを押してください。 !Python 特にPythonの場合、インデントが崩れるとコードの意味が変わってしまいます。