Условия задачи:

 

Чемпионы Мировой серии. Среди исходного кода главы 7 вы найдете файл WorldSeriesWinners.txt. Он содержит хронологический список команд-победителей Ми­ровой серии по бейсболу с 1903 по 2009 год. (Первая строка в файле является 
названием команды, команды, которая победила в 1903 году, а последняя строка - названием которая победила в 2009 году. Обратите внимание, что Мировая серия не проводилась в 1904 и 1994 годах.)
Напишите программу, которая позволяет пользователю ввести название команды и затем выводит количество лет, когда команда побеждала в Мировой серии в течение указанного периода времени с 1903 по 2009 год.

 

Решение задачи:

def main():
    START = 1903
    NOGAME1904 = 1904
    NOGAME1994 = 1994

    def get_winer_list():
        winer_list = []
        with open('WorldSeriesWinners.txt', 'r') as in_file:
            for i in in_file:
                winer_list.append(i.rstrip('\n'))
        return winer_list
    winer_list = get_winer_list()
    comand_name = input('Введите название интересующей команды: ')
    totall = 0
    years_list = []
    if comand_name in winer_list:
        for i in range(len(winer_list)):
            if winer_list[i] == comand_name:
                totall += 1
                if i >= (NOGAME1994 - START):
                    years_list.append(START + i +2)
                elif i >= (NOGAME1904 - START):
                    years_list.append(START + i +1)
                else:
                    years_list.append(START)
    else:
        print('Такой команды нет в списке')
    print(f'Команда {comand_name} выигрывала {totall} раз в эти годы {years_list}: ')
main()