I can't seem to figure out what I am doing wrong. I have tried everything. This is what it is supposed to do:
(1) Prompt the user for a title for data. Output the title. (1 pt) Ex: Enter a title for the data: Number of Novels Authored You entered: Number of Novels Authored (2) Prompt the user for the headers of two columns of a table. Output the column headers. (1 pt) Ex: Enter the column 1 header: Author name You entered: Author name Enter the column 2 header: Number of novels You entered: Number of novels (3) Prompt the user for data points. Data points must be in this format: string, int. Store the information before the comma into a string variable and the information after the comma into an integer. The user will enter -1 when they have finished entering data points. Output the data points. Store the string components of the data points in a list of strings. Store the integer components of the data points in a list of integers. (4 pts) Ex: Enter a data point (-1 to stop input): Jane Austen, 6 Data string: Jane Austen Data integer: 6 (4) Perform error checking for the data point entries. If any of the following errors occurs, output the appropriate error message and prompt again for a valid data point. If entry has no comma Output: Error: No comma in string. (1 pt) If entry has more than one comma Output: Error: Too many commas in input. (1 pt) If entry after the comma is not an integer Output: Error: Comma not followed by an integer. (2 pts) Ex: Enter a data point (-1 to stop input): Ernest Hemingway 9 Error: No comma in string. Enter a data point (-1 to stop input): Ernest, Hemingway, 9 Error: Too many commas in input. Enter a data point (-1 to stop input): Ernest Hemingway, nine Error: Comma not followed by an integer. Enter a data point (-1 to stop input): Ernest Hemingway, 9 Data string: Ernest Hemingway Data integer: 9 (5) Output the information in a formatted table. The title is right justified with a minimum field width value of 33. Column 1 has a minimum field width value of 20. Column 2 has a minimum field width value of 23. (3 pts) Ex: Number of Novels Authored Author name | Number of novels -------------------------------------------- Jane Austen | 6 Charles Dickens | 20 Ernest Hemingway | 9 Jack Kerouac | 22 F. Scott Fitzgerald | 8 Mary Shelley | 7 Charlotte Bronte | 5 Mark Twain | 11 Agatha Christie | 73 Ian Flemming | 14 J.K. Rowling | 14 Stephen King | 54 Oscar Wilde | 1 (6) Output the information as a formatted histogram. Each name is right justified with a minimum field width value of 20. (4 pts) Ex: Jane Austen ****** Charles Dickens ******************** Ernest Hemingway ********* Jack Kerouac ********************** F. Scott Fitzgerald ******** Mary Shelley ******* Charlotte Bronte ***** Mark Twain *********** Agatha Christie ************************************************************************* Ian Flemming ************** J.K. Rowling ************** Stephen King ****************************************************** Oscar Wilde * Here is my code: data_title = input("Enter a title for the data:\n") print("You entered:", data_title) h1 = input("\nEnter the column 1 header:\n") print("You entered:", h1) h2 = input("\nEnter the column 2 header:\n") print("You entered:", h2) point = input("\nEnter a data point (-1 to stop input):\n") data = [] while point != "-1": words = point.split(",") if len(words) == 1: print("Error: No comma in string.") elif len(words) > 2: print("Error: Too many commas in input. ") else: try: author = words[0] num_novels = int(words[1]) print("Author:", author) print("Number of Novel(s):", num_novels) data.append((author, num_novels)) except ValueError: print("Error: Comma not followed by an integer.") point = input("\nEnter a data point (-1 to stop input):\n") print("%33s" % data_title) print("%-20s|%23s" % (h1, h2)) print("-" * 44) for item in data: print("%-20s|%23d" % (item[0], item[1])) for item in data: print("%20s %s" % (item[0], '*' * item[1])) I get this error: Traceback (most recent call last): File "main.py", line 1, in <module> data_title = input("Enter a title for the data:\n") EOFError: EOF when reading a line And can't seem to figure out how to correct it any help would be greatly appreciated. -- https://mail.python.org/mailman/listinfo/python-list