paizaラーニングレベルアップ問題集の「野球の審判」をやってみた

paiza×Qiita記事投稿キャンペーンということで、paizaラーニングレベルアップ問題集の[野球の審判](https://paiza.jp/works/mondai/c_rank_skillcheck_archive/umpire)をやってみました。今回はPython3で書いていきます。
- - -
###### [part0](https://paiza.jp/works/mondai/c_rank_skillcheck_archive/umpire_01)
```py
n = int(input())
ball = 0
strike = 0
for i in range(n):
    s = input()
    if s == "strike":
        strike += 1
        if strike == 3:
            print("out!")
        else:
            print("strike!")
    elif s == "ball":
        ball += 1
        if ball == 4:
            print("fourball!")
        else:
            print("ball!")
```
この問題は、後に続くpart1から順番に取り組むことでプログラムを完成させることができるようになっていますので、part1から順番にやっていきましょう。
- - -
###### [part1](https://paiza.jp/works/mondai/c_rank_skillcheck_archive/umpire_02)
1行目に与えられる合計の投球数を表す整数$N$を受け取ってみましょう。 
```py
n = int(input())  # 整数Nを受け取る
print(n)
```
- - -
###### [part2](https://paiza.jp/works/mondai/c_rank_skillcheck_archive/umpire_03)
$N$回ループする繰り返し処理を実装してみましょう。
```py
n = int(input())
# print(n)
for i in range(n):  # 以下の処理をN回ループする
    print("strike or ball")
```
- - -
###### [part3](https://paiza.jp/works/mondai/c_rank_skillcheck_archive/umpire_04)
投球結果を受け取ってみましょう。
```py
n = int(input())
# print(n)
for i in range(n):
    # print("strike or ball")
    s = input()  # 投球結果を受け取る
    print(s)
```
- - -
###### [part4](https://paiza.jp/works/mondai/c_rank_skillcheck_archive/umpire_05)
投球結果が`strike`だった場合には、`strike!`を出力するコードを書いてみましょう。
```py
n = int(input())
# print(n)
for i in range(n):
    # print("strike or ball")
    s = input()
    if s == "strike":
        # 投球結果がstrikeだった場合にはstrike!を出力する
        print("strike!")
    else:
        print(s)
```
- - -
###### [part5](https://paiza.jp/works/mondai/c_rank_skillcheck_archive/umpire_06)
投球結果が`strike`だった場合`strike!`と出力した次の行に、それがいくつ目の `strike!`であるか、その数を半角数字で出力してみましょう。
```py
n = int(input())
# print(n)
strike = 0  # 与えられたstrikeの数を数える
for i in range(n):
    # print("strike or ball")
    s = input()
    if s == "strike":
        strike += 1  # strikeの数を+1する
        print("strike!")
        print(strike)  # いくつ目のstrike!であるか
    else:
        print(s)
```
- - -
###### [part6](https://paiza.jp/works/mondai/c_rank_skillcheck_archive/umpire_07)
条件にしたがって、3つ目の`strike`を受け取った場合、`out!`をコールするプログラムを書いてみましょう。
```py
n = int(input())
# print(n)
strike = 0
for i in range(n):
    # print("strike or ball")
    s = input()
    if s == "strike":
        strike += 1
        if strike == 3:
            # 3つ目のstrikeを受け取った場合、out!をコールする
            print("out!")
        else:
            print("strike!")
        # print(strike)
    else:
        print(s)
```
- - -
###### [part7](https://paiza.jp/works/mondai/c_rank_skillcheck_archive/umpire)
あとは、`ball`が入力された場合についても同様の処理をして、問題文の条件にしたがった出力をすることができれば、この問題を解くプログラムが完成します。
```py
n = int(input())
# print(n)
strike = 0
ball = 0  # 与えられたballの数を数える
for i in range(n):
    # print("strike or ball")
    s = input()
    if s == "strike":
        strike += 1
        if strike == 3:
            print("out!")
        else:
            print("strike!")
        # print(strike)
    elif s == "ball":  # ballが入力された場合についても同様の処理をする
        ball += 1
        if ball == 4:
            print("fourball!")
        else:
            print("ball!")
    # else:
        # print(s)
```