python
1def bowling(a): 2 n = 0 3 flame = 1 4 a.append(0) 5 a.append(0) 6 score=0#トータルスコア 7 while flame < 11: 8 if a[n] == 10:#ストライクの時 9 score += (a[n]+ a[n+1] + a[n+2])#後ろの2投分をスコアに加算 10 n += 1 11 flame += 1 12 elif a[n]+a[n+1] == 10:#スペアの時 13 score += a[n]+a[n+1]+a[n+2]#後ろ1投分をスコアに加算する 14 n += 2 15 flame += 1 16 else: 17 score += a[n]+a[n+1] 18 n += 2 19 flame += 1 20 return(score) 21 22 def test1(): 23 print(bowling([10,8,2,10,0,10,10,6,4,10,8,2,10,9,1,10]) == 200)
のようにプログラムを組んだのですが、実行したあと
bowling([10,8,2,10,0,10,10,6,4,10,8,2,10,9,1,10]
とpythonに直接命令すればスコアが”200”と返されます。
しかし、test1を実行すると、
python
1100 2None
と返されるのですが、原因がわかりません。一体なぜでしょうか?
(canopyを使ってプログラムを実行しています)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/22 04:48
2018/04/22 04:54 編集
2018/04/22 04:57
2018/04/22 04:58
2018/04/22 05:04
2018/04/22 05:14