[python]ボウリングのスコア計算の連続ストライクでエラーが出る。
Posted: 2017年7月05日(水) 18:21
このリポジトリの方法を参考にこのサイトの課題を、Pythonで作っています。
ですが…。
連続ストライクをやろうとすると、上のログのようなエラーが出ます。
原因は何なのでしょうか?デバッグをして、挙動をチェックしたところ、i=1のときはちゃんとできているようです。
for i in range(throw):
if pin[i] == 10:
#
total = ((pin[i])+(pin[i+1])+(pin[i+2]))
freamnum += 1
else:
if i % 2 == 0:
rest_pin -= pin[i]
else:
freamnum += 1
if rest_pin - pin[i] == 0:
total = (pin[i]+pin[i+1])
else:
rest_pin = 10
total += pin[i]
投げた回数を入力してください。3
倒したピンの数を1投ずつ入力してください。10 10 10
Traceback (most recent call last):
File "C:/Users/keito940/PycharmProjects/BowlingScore/Bowling.py", line 30, in <module>
Input()
File "C:/Users/keito940/PycharmProjects/BowlingScore/Bowling.py", line 26, in Input
score = BowlScore(throw,pin)
File "C:/Users/keito940/PycharmProjects/BowlingScore/Bowling.py", line 7, in BowlScore
total = ((pin[i])+(pin[i+1])+(pin[i+2]))
IndexError: list index out of range
Process finished with exit code 1
原因は何なのでしょうか?デバッグをして、挙動をチェックしたところ、i=1のときはちゃんとできているようです。