You are required to design, implement and test a small console-based quiz in Python which performs the description given below.
The quiz should ask the user(s) 10 questions. The quiz topic can be on any subject of your choice.
You are required to produce a program which reads in, from the console (command line), ten quiz questions and ten correct answers, one correct answer for each question.
Once you have added these questions to your program, you then need to extend the console (command line) interface so that it:
Asks the user their name
Runs through all questions of the quiz and keep a running score of the number of correctly questions answered;
Once the users has answered all the questions, the system should print out their score out of 10 as well as a percentage score on the screen;
The program should then prompt to ask if anybody else wants to take the quiz. It should then perform steps 1-4 again for the next user;
Once all the users have finished the quiz, the program displays:
The name of the user with the highest score (as well as other users’ score).
The average score of all users.
You should make use of conditional statements, iterative statements, functions, data structures etc. in your program.
Your program should suitably handle user errors (e.g., incorrect input type, such as empty answer or name etc.).
The above describes the basic features that you are expected to attempt for this assessment. Extra marks are available if you can extend your program so that it implements the following additional features:
You can produce a quiz which can ask any number of questions (i.e. not always 10 questions, where users can specify the number of questions they want to answer).
You can ask the questions in a random order.
The user is shown which questions they got correct and which they got incorrect (as well as showing the correct answer for any questions they answered incorrectly