前提・実現したいこと
野球の点数のプログラムを作ろうとしているのですが、リスト内全体に追加される数値を足す方法が
思考錯誤しても出来ません。リスト2つ目までは上手くいくのですが...。
(現状)ヒット、ヒット、ヒットの場合リストに格納される数[1,2,2]
例 ヒット、ヒット、ヒットの場合リストに格納される数は[1,2,3]にしたい。
該当のソースコード
python
1#野球ポイントプログラム 2#set_pointリストはヒットを格納 3set_point =[] 4con_set = [] 5#numはヒットで1、ツーベースで2、スリーベースで3 6#num2はホームラン 7def num_point(num,num2): 8 point = 0 9 if num2 == 0: 10 set_point.append(num) 11 new_set = list(map(lambda x: x+num, set_point[:-1])) 12 new_set.append(num) 13#関数外でないといけ無いのでcon_setに1度格納 14 for row in new_set: 15 con_set.append(row) 16 for row in con_set: 17#リスト内から4以上の数字を消し、消した数をpointに点数 18 if row >= 4: 19 con_set.remove(row) 20 point += 1 21 return point 22 else: 23 return point 24#ホームランの場合 25 elif num2 >= 1: 26 point = len(con_set) + point + 1 27 if len(con_set) >= 1: 28 set_point.clear() 29 con_set.clear() 30 return point 31 else: 32 return point 33 34 35 36print(num_point(1,0)) 37print(con_set)
補足情報(FW/ツールのバージョンなど)
python3.7
回答1件
あなたの回答
tips
プレビュー