World Series

\[ \begin{align}\begin{aligned}\newcommand\blank{~\underline{\hspace{1.2cm}}~}\\% Bold symbols (vectors) \newcommand\bs[1]{\mathbf{#1}}\\% Poor man's siunitx \newcommand\unit[1]{\mathrm{#1}} \newcommand\num[1]{#1} \newcommand\qty[2]{#1~\unit{#2}}\\\newcommand\per{/} \newcommand\squared{{}^2} % % Scale \newcommand\milli{\unit{m}} \newcommand\centi{\unit{c}} \newcommand\kilo{\unit{k}} \newcommand\mega{\unit{M}} % % Angle \newcommand\radian{\unit{rad}} \newcommand\degree{\unit{{}^\circ}} % % Time \newcommand\second{\unit{s}} % % Distance \newcommand\meter{\unit{m}} \newcommand\m{\meter} \newcommand\inch{\unit{in}} \newcommand\feet{\unit{ft}} \newcommand\mile{\unit{mi}} \newcommand\mi{\mile} % % Volume \newcommand\gallon{\unit{gal}} % % Mass \newcommand\gram{\unit{g}} \newcommand\g{\gram} % % Frequency \newcommand\hertz{\unit{Hz}} \newcommand\rpm{\unit{rpm}} % % Voltage \newcommand\volt{\unit{V}} \newcommand\V{\volt} \newcommand\millivolt{\milli\volt} \newcommand\mV{\milli\volt} \newcommand\kilovolt{\kilo\volt} \newcommand\kV{\kilo\volt} % % Current \newcommand\ampere{\unit{A}} \newcommand\A{\ampere} \newcommand\milliampereA{\milli\ampere} \newcommand\mA{\milli\ampere} \newcommand\kiloampereA{\kilo\ampere} \newcommand\kA{\kilo\ampere} % % Resistance \newcommand\ohm{\Omega} \newcommand\milliohm{\milli\ohm} \newcommand\kiloohm{\kilo\ohm} % correct SI spelling \newcommand\kilohm{\kilo\ohm} % "American" spelling used in siunitx \newcommand\megaohm{\mega\ohm} % correct SI spelling \newcommand\megohm{\mega\ohm} % "American" spelling used in siunitx % % Inductance \newcommand\henry{\unit{H}} \newcommand\H{\henry} \newcommand\millihenry{\milli\henry} \newcommand\mH{\milli\henry} % % Temperature \newcommand\celsius{\unit{^{\circ}C}} \newcommand\C{\unit{\celsius}} \newcommand\fahrenheit{\unit{^{\circ}F}} \newcommand\F{\unit{\fahrenheit}} \newcommand\kelvin{\unit{\K}} \newcommand\K{\unit{\kelvin}}\\% Power \newcommand\watt{\unit{W}} \newcommand\W{\watt} \newcommand\milliwatt{\milli\watt} \newcommand\mW{\milli\watt} \newcommand\kilowatt{\kilo\watt} \newcommand\kW{\kilo\watt} % % Torque \newcommand\ozin{\unit{oz}\text{-}\unit{in}} \newcommand\newtonmeter{\unit{N\text{-}m}}\end{aligned}\end{align} \]

Apr 16, 2025 | 312 words | 3 min read

9.2.2. World Series#

Instructions#

The WorldSeriesWinners.txt file contains a chronological list of the World Series’ winning teams from \(1903\) through \(2023\). The first line in the file is the name of the team that won in \(1903\), and the last line is the name of the team that won in \(2023\). Note that the World Series was not played in \(1904\) or \(1994\) and there are no entries in the file for those years.

Write a function named load_winners_data that loads the World Series winner data from the data file and uses it to create and return two dictionaries. In the first dictionary, the keys should be the names of the teams, and each key’s associated value is the number of times that team has won the World Series. The second dictionary should have the years as keys, and each key’s associated value is the name of the team that won that year.

Then write the main function of the program so that it prompts the user to enter a year in the range of \(1903\) through \(2023\). After the user enters a year, the program should display the name of the team that won the World Series that year, and the number of times that team has won the World Series. Years without a winner should also be handled.

Sample Output#

Use the values in Table 9.3 below to test your program.

Table 9.3 Test Cases#

Case

Year

1

1900

2

1953

3

1994

4

2008

5

2019

6

2135

Ensure your program’s output matches the provided samples exactly. This includes all characters, white space, and punctuation. In the samples, user input is highlighted like this for clarity, but your program should not highlight user input in this way.

Case 1 Sample Output

$ python3 world_series_login.py Enter a year in the range 1903 -- 2023: 1900 Data for the year 1900 is not included in this system.

Case 2 Sample Output

$ python3 world_series_login.py Enter a year in the range 1903 -- 2023: 1953 The New York Yankees won the World Series in 1953. They have won the World Series 27 times.

Case 3 Sample Output

$ python3 world_series_login.py Enter a year in the range 1903 -- 2023: 1994 The World Series wasn't played in the year 1994.

Case 4 Sample Output

$ python3 world_series_login.py Enter a year in the range 1903 -- 2023: 2008 The Philadelphia Phillies won the World Series in 2008. They have won the World Series 2 times.

Case 5 Sample Output

$ python3 world_series_login.py Enter a year in the range 1903 -- 2023: 2019 The Washington Nationals won the World Series in 2019. They have won the World Series 1 times.

Case 6 Sample Output

$ python3 world_series_login.py Enter a year in the range 1903 -- 2023: 2135 Data for the year 2135 is not included in this system.

Deliverables#

Save your finished program as world_series_login.py, replacing login with your Purdue login. Then submit it along with all the deliverables listed in Table 9.4 below.

Table 9.4 Deliverables#

Deliverable

Description

world_series_login.py

Your finished program.

Screenshot(s)

PNG(s) capturing all 6 test cases.