【Python】ワールドカップとWBCの開催年を判定する処理

■概要

ワールドカップとWBCについて、それぞれ開催した年を判定し、コンソールに出力する。

以下、ワールドカップとWBCの判定処理概要を示す。

▼ワールドカップの開催年判定

ワールドカップにおける開催年の判定概要は、以下の通りとする。

・開始は1930年からとする。
・終了は2024年までとする。
・1930年から4年ごとの開催である。
・1942年および1946年は中止のため、対象外とする。

なお、具体的な開催年については、以下のWikipediaを参考とした。

▼WBCの開催年判定

WBCにおける開催年の判定概要は、以下の通りとする。

・開始は2006年からとする。
・終了は2024年までとする。
・2009年から2017年までは、4年ごとの開催である。
・2017年以降は2023年のみの開催である。

なお、具体的な開催年については、以下のWikipediaを参考とした。

■フローチャート

ワールドカップおよびWBCの開催年判定処理について、フローチャートを以下図に示す。

▼メイン処理

メイン処理についてのフローチャートを示す。
なお、メイン処理にて「ワールドカップの開催年判定処理」および「WBCの開催年判定処理」を呼び出す。

▼ワールドカップの開催年判定処理

「ワールドカップの開催年判定処理」のフローチャートを以下に示す。

▼WBCの開催年判定処理

「WBCの開催年判定処理」のフローチャートを以下に示す。

■プログラム仕様

「ワールドカップの開催年判定」および「WBCの開催年判定」におけるプログラム仕様を以下に示す。

▼メイン処理

メイン処理のプログラム仕様を下表に示す。

入力処理内容出力
■ループ処理:1930年から2023年までを繰り返し
|結果用文字列の初期値「year : 」をセットする。
|▼条件分岐:ワールドカップの開催年判定処理
|【Trueの場合】
||結果用文字列に「ワールドカップ」を追加。
|▲
|▼条件分岐:WBCの開催年判定処理
|【Trueの場合】
||結果用文字列に「WBC」を追加。
|▲
|結果用文字列を出力
【コンソール】
結果用文字列

▼ワールドカップの開催年判定処理

「ワールドカップの開催年判定処理」について、「引数と戻り値」および「プログラム仕様」を下表に示す。

・引数と戻り値

種別内容
引数int年(1930〜2024)
戻り値Boolean開催年である:True
開催年でない:False

・プログラム仕様

入力処理内容出力
▼条件分岐:引数を4で割った時の余り
【余りが2の場合】
|▼条件分岐:引数
|【1942 or 1946の場合】
||「False」を返す。
|--------
|【その他】
||「True」を返す。
|▲
「False」を返す。

▼WBCの開催年判定処理

「WBCの開催年判定処理」について、「引数と戻り値」および「プログラム仕様」を下表に示す。

・引数と戻り値

種別内容
引数int年(1930〜2024)
戻り値Boolean開催年である:True
開催年でない:False

・プログラム仕様

入力処理内容出力
▼条件分岐:引数
【2006 or 2023の場合】
| 「True」を返す。
--------
【2009 ≦ 引数 ≦ 2017の場合】
|▼条件分岐:引数を4で割った時の余り
|【余りが1の場合】
||「True」を返す。
|▲
「False」を返す。

■サンプルコード

「ワールドカップの開催年判定」および「WBCの開催年判定」におけるサンプルコードを以下に示す。


# ワールドカップの開催年判定処理
def IsWorldCup(year):
    # 4で割って余りが2の場合
    if year % 4 == 2:
        # 1942年と1946年は中止
        if year in (1942, 1946):
            return False
        else:
            return True
    
    return False

# WBCの開催年判定処理
def IsWbc(year):
    # 2006、2023年は開催
    if year in (2006, 2023):
        return True
    # 2009から2017年は4で割って余りが1の場合
    elif year >= 2009 and year <= 2017:
        if year % 4 == 1:
            return True
    
    return False

# メイン処理
if __name__ == '__main__':
    # 1930年から2023年までを繰り返し
    for i in range(1930, 2024):
        # 出力用の文字列をセット
        result = 'year ' + str(i) + ' : '

        # ワールドカップ開催年判定処理
        if IsWorldCup(i):
            # 出力用文字列に追加
            result += 'ワールドカップ '
        
        # WBC開催年判定処理
        if IsWbc(i):
            # 出力用文字列に追加
            result += 'WBC'

        # 結果を出力
        print(result)

■実行結果

「ワールドカップの開催年判定」および「WBCの開催年判定」の実行結果を以下に示す。

year 1930 : ワールドカップ 
year 1931 : 
year 1932 : 
year 1933 : 
year 1934 : ワールドカップ 
year 1935 : 
year 1936 : 
year 1937 : 
year 1938 : ワールドカップ 
year 1939 : 
year 1940 : 
year 1941 : 
year 1942 : 
year 1943 : 
year 1944 : 
year 1945 : 
year 1946 : 
year 1947 : 
year 1948 : 
year 1949 : 
year 1950 : ワールドカップ 
year 1951 : 
year 1952 : 
year 1953 : 
year 1954 : ワールドカップ 
year 1955 : 
year 1956 : 
year 1957 : 
year 1958 : ワールドカップ 
year 1959 : 
year 1960 : 
year 1961 : 
year 1962 : ワールドカップ 
year 1963 : 
year 1964 : 
year 1965 : 
year 1966 : ワールドカップ 
year 1967 : 
year 1968 : 
year 1969 : 
year 1970 : ワールドカップ 
year 1971 : 
year 1972 : 
year 1973 : 
year 1974 : ワールドカップ 
year 1975 : 
year 1976 : 
year 1977 : 
year 1978 : ワールドカップ 
year 1979 : 
year 1980 : 
year 1981 : 
year 1982 : ワールドカップ 
year 1983 : 
year 1984 : 
year 1985 : 
year 1986 : ワールドカップ 
year 1987 : 
year 1988 : 
year 1989 : 
year 1990 : ワールドカップ 
year 1991 : 
year 1992 : 
year 1993 : 
year 1994 : ワールドカップ 
year 1995 : 
year 1996 : 
year 1997 : 
year 1998 : ワールドカップ 
year 1999 : 
year 2000 : 
year 2001 : 
year 2002 : ワールドカップ 
year 2003 : 
year 2004 : 
year 2005 : 
year 2006 : ワールドカップ WBC
year 2007 : 
year 2008 : 
year 2009 : WBC
year 2010 : ワールドカップ 
year 2011 : 
year 2012 : 
year 2013 : WBC
year 2014 : ワールドカップ 
year 2015 : 
year 2016 : 
year 2017 : WBC
year 2018 : ワールドカップ 
year 2019 : 
year 2020 : 
year 2021 : 
year 2022 : ワールドカップ 
year 2023 : WBC
タイトルとURLをコピーしました