Description There are two parts to the programming assignment. Design and create a Question class according to the class specifications below. The Question class will hold data for a trivia question

CS 172 – Homework 1 Purpose: After completing this assignment, you will have designed and implemented a class. Description There are two parts to the programming assignment. 1. Design and c reate a Question class according to the class specifications below. The Question class will hold data for a trivia question . 2. Write a script (on a separate file) t hat simulates a simple trivia game for two players . Specification for Question class: A Question object has a question or prompt and four possible answers, but only one of the answers is correct – so basically, we are simulating a multiple -choice question. Attributes • A trivia question or prompt • Pos sible answer 1 • Possible answer 2 • Possible answer 3 . • Possible answer 4 • The number of the correct answer (either 1, 2, 3, or 4) Note: you could also label the possible answers with letters (e.g.: a, b, c, and d). Then the correct answer would be a value such as a, b, c, or d. Methods • __init__ method • Getter methods (accessors/inspectors) • Setter methods (mutators) • A method that returns a string with the prompt and the possible answers . This method will be used in a script to display the trivia questions to the players. Make sure to format the s tring accordingly. Script Your program will simulate a simple trivia game for two players who will take turns in answering questions. Each time a player gives the correct answer to a question, the player earns a point. After all the questions have been answered, the program should display the number of points earned by each player and who the winner is , or indicate that there is a tie if that is the case. Use the Question class to create at least 10 trivia questions on the topic of your choice. The Question objects you create must be stored in a list. If you need inspiration to create trivia questions, you may want to take a look at this site that has fan quizzes for many subjects (books, movies, TV shows, sports, etc.) : https://www.allthetests.com/fan -quizzes -tests -Fantests.php NOTE: Please keep in mind that you are expected to write a good quality , well formatted program. That means: • User input must be validated and your program gracefully handle invalid inputs. • Repetitive code (code that appears in multiple places in the main script) should be written as a function. • Your program must use good style, including proper identifier names, useful comments, and proper use of in dentation and whitespace. • You program should also have an appropriate user interface so that anyone one using the program knows what to do and what to expect. Sample program run Grading Criteria Points Question class : __init__ method 10 Question class setters 10 Question class getters 10 Question class string method 10 Main script: user interface is easy to understand 10 Main script: properly creates at least 10 Question objects 10 Main script: Question objects are stored in a list 10 Main script: validates user’s input 10 Main script : all the required parts are there : players taking turns, scoring and displaying the results 10 Code follows good style guidelines and separate repetitive code into functions 10 Total possible points 100 NOTE: If you code has any runtime errors a 50 -point deduction will be taken. Only portions of the code that execute without errors will be graded. If your script cannot run at all , you will receive 0 points. How to Submit your assignment : • Assignments must be submitted via Blackboard Learn. o Please note that assignments submitted via email will not be accepted. o Late assignments will not be accepted. Your work must be uploaded and submitted by 11:59 PM on the date it’s due. • For this assignment, you must submit a single zip (such as HW1.zip) file that contains: o question .py – file that contains the Question class. o main. py - your main script Academic Honesty You must be the sole original author of the entire solution you submit. You must compose all progra m and written material yourself . All material taken from outside sources (e.g. textbooks, in class examples, labs, etc.) must be appropriately cited.