Problem definition: We want to write a Python program for n players, which are playing a tournament. In this competition players solve 5 simple arithmetic problems. The arithmetic problems consist of simple addition operations of the form: numberl + number2 =- where the operands numberl and number2 are randomly generated. Initially your program displays a menu to enter the number of players and the difficulty level as shown in figure I:

Programming Logic & Design Comprehensive
9th Edition
ISBN:9781337669405
Author:FARRELL
Publisher:FARRELL
Chapter6: Arrays
Section: Chapter Questions
Problem 7RQ
icon
Related questions
Question
Problem definition:
We want to write a Python program for n players, which are playing a tournament. In this competition
players solve 5 simple arithmetic problems. The arithmetic problems consist of simple addition
operations of the form:
numberl + number2 =_
where the operands numberl and number2 are randomly generated.
Initially your program displays a menu to enter the number of players and the difficulty level as shown
in figure I:
Tournament_ quiz
Enter number of players : 3
Player 1
Level:
- E or e for Easy
- A or a for Advanced level
level
Enter your choice : x
Incorrect input try again
Level:
- E or e for Easy
- A or a for Advanced level
level
Enter your choice : E
Figure 1 Program initial menu
The difficulty level determines the number of digits in the operands numberl and number2:
Easy level means the operands consists of a unique digit (0, 1, 2,., 9).
Advanced level means the operands consists of two digits (10, 11,.., 99).
Use the random number generator to determine numberl and number2. After the player
chooses the difficulty level, your program displays the 5 problems. For instance, the sample
below could be given in case where the player chooses advanced level:
40 + 90 -
34 + 88 =
23 + 65 =
14 + 38 -
53 + 65 =
The player has a maximum of two tries for each question. If the player first answer's is correct, the
next problem is presented, otherwise she/he is given a second try. Each correct answer is worth 1
mark. At the end of the quiz, the program displays for each player,
• The number of correct answers,
• The number of tries, and
• The score.
The score is calculated by dividing the number of correct answers by number of tries. The program
then prints a report of the results to an output file. The report has a tabular format, where each row is
the record of cach player (Figure 2). The table consists of the following four columns:
• Player's number,
Number of correct answers,
Number of tries, and
Score
The output file name consists of your name and your ID, e.g. Ahmed_14532. txt.
Tournament Quiz
no_corr_ans
playr_num
no_tries
score
0.57
0.67
6
Figure 2: Sample output file
Tasks: Your program should consist of the following functions:
Main: A function that performs file processing, reads number of participants, calls other functions,
and generates the output file.
showMenu : A function with no parameters and returns a char that represents the level of difficulty.
findoperands: A function with one input parameter: the difficulty level. It returns a tuple of two
randomly generated operands.
userQuiz: A function to process a single player. This function has the difficulty as a unique
parameter. It returns a tuple of the following format:
numb_of_corr_answers, numb_of_tries, score
Transcribed Image Text:Problem definition: We want to write a Python program for n players, which are playing a tournament. In this competition players solve 5 simple arithmetic problems. The arithmetic problems consist of simple addition operations of the form: numberl + number2 =_ where the operands numberl and number2 are randomly generated. Initially your program displays a menu to enter the number of players and the difficulty level as shown in figure I: Tournament_ quiz Enter number of players : 3 Player 1 Level: - E or e for Easy - A or a for Advanced level level Enter your choice : x Incorrect input try again Level: - E or e for Easy - A or a for Advanced level level Enter your choice : E Figure 1 Program initial menu The difficulty level determines the number of digits in the operands numberl and number2: Easy level means the operands consists of a unique digit (0, 1, 2,., 9). Advanced level means the operands consists of two digits (10, 11,.., 99). Use the random number generator to determine numberl and number2. After the player chooses the difficulty level, your program displays the 5 problems. For instance, the sample below could be given in case where the player chooses advanced level: 40 + 90 - 34 + 88 = 23 + 65 = 14 + 38 - 53 + 65 = The player has a maximum of two tries for each question. If the player first answer's is correct, the next problem is presented, otherwise she/he is given a second try. Each correct answer is worth 1 mark. At the end of the quiz, the program displays for each player, • The number of correct answers, • The number of tries, and • The score. The score is calculated by dividing the number of correct answers by number of tries. The program then prints a report of the results to an output file. The report has a tabular format, where each row is the record of cach player (Figure 2). The table consists of the following four columns: • Player's number, Number of correct answers, Number of tries, and Score The output file name consists of your name and your ID, e.g. Ahmed_14532. txt. Tournament Quiz no_corr_ans playr_num no_tries score 0.57 0.67 6 Figure 2: Sample output file Tasks: Your program should consist of the following functions: Main: A function that performs file processing, reads number of participants, calls other functions, and generates the output file. showMenu : A function with no parameters and returns a char that represents the level of difficulty. findoperands: A function with one input parameter: the difficulty level. It returns a tuple of two randomly generated operands. userQuiz: A function to process a single player. This function has the difficulty as a unique parameter. It returns a tuple of the following format: numb_of_corr_answers, numb_of_tries, score
Expert Solution
steps

Step by step

Solved in 2 steps with 3 images

Blurred answer
Knowledge Booster
Function Arguments
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
Programming Logic & Design Comprehensive
Programming Logic & Design Comprehensive
Computer Science
ISBN:
9781337669405
Author:
FARRELL
Publisher:
Cengage