Question
This assignment focuses on the design, implementation and testing of Python programs to process data files using lists and tuples, as described below. Assignment Specifications
This assignment focuses on the design, implementation and testing of Python programs to process data files using lists and tuples, as described below.
Assignment Specifications
1. You will develop a Python program to manage information about baseball players. The program will maintain the following information for each player in the data set:
players name (string)
team identifier (string)
games played (integer)
at bats (integer)
runs scored (integer)
hits (integer)
doubles (integer)
triples (integer)
homeruns (integer)
2. The program will recognize the following commands:
QUIT
HELP
INPUT filename
TEAM identifier
REPORT n PLAYERS
The program will be operated interactively: it will prompt the user and accept commands from the keyboard.
If the user enters an invalid command, the program will display an appropriate message and prompt the user to enter another command.
3. The QUIT command will halt execution.
4. The "HELP" command will display information to the user about the commands recognized by the program.
5. The "INPUT" command will be followed by a string representing the name of an input file. The program will discard the current data set stored in memory, and then process the input file as the source for a new data set (open the file, read the file once and storethe records, then close the file).
An input file contains zero or more player records, where each record consists of the nine fields listed above. The records are separated by newlines, and the fields are separated by semicolons.
If the user enters an invalid file name, the program will display an appropriate message and prompt the user to enter another file name. The program will halt after the user enters an invalid file name three consecutive times.
6. The "TEAM" command will be followed by a string representing a team identifier. The program will display all information about all players on that team.
If the user enters an invalid team identifier, the program will display an appropriate message and prompt the user to enter another command; the program will not display an empty table.
7. The "REPORT" command will be followed by an integer number and a string (one of "HITS", "BATTING" or "SLUGGING").
If the user enters an invalid command, the program will display an appropriate message and prompt the user to enter another command; the program will not display an empty report.
For each report, the program will display all information about the top "n" players in a given category:
HITS -- number of hits
BATTING -- batting average
SLUGGING -- slugging percentage
8. The program will display appropriate messages to inform the user about any unusual circumstances.
De Aza, Alejandro; CWS; 153; 607; 84; 160; 27; 4; 17
Hunter, Torii; DET; 144; 606; 90; 184; 37; 5; 17
Hamilton, Josh; LAA; 151; 576; 73; 144; 32; 5; 21
Choo, Shin-Soo; CIN; 154; 569; 107; 162; 34; 2; 21
Upton, Justin; ATL; 149; 558; 94; 147; 27; 2; 27
Cabrera, Miguel; DET; 148; 555; 103; 193; 26; 1; 44
Posey, Buster; SF; 148; 520; 61; 153; 34; 1; 15
Suzuki, Ichiro; NYY; 150; 520; 57; 136; 15; 3; 7
Holliday, Matt; STL; 141; 520; 103; 156; 31; 1; 22
Headley, Chase; SD; 141; 520; 59; 130; 35; 2; 13
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started