In: Computer Science
write pseudocode for this program . thank you
import random
class cal():
def __init__(self, a, b):
self.a = a
self.b = b
def add(self):
return self.a + self.b
def mul(self):
return self.a * self.b
def div(self):
return self.a / self.b
def sub(self):
return self.a - self.b
def playQuiz():
print("0. Exit")
print("1. Add")
print("2. Subtraction")
print("3. Multiplication")
print("4. Division")
choice = int(input("Enter choice: "))
# Generating random numbers
a = random.randint(0, 9)
b = random.randint(0, 9)
obj = cal(a, b)
while choice != 0:
if choice == 1:
print(" what do
you think the sum of these two numbers are? ", a, " + ", b)
cnt=0 # To hold
number of tries
while
True:
sum = input()
answer = int(sum)
if answer == obj.add():
print("Perfect, the answer is
correct...")
return
elif answer != obj.add():
print("I am sorry, your
answer is wrong kitto,Please Try again:")
# Incrementing count
cnt = cnt + 1
# Checking count
if cnt == 3:
#
Prompting for next try
ans =
input("\nMax number of tries reached. Do you want to try another
question or quit? (T/Q): ")
# Checking
answer
if
ans.upper() == "T":
return playQuiz()
else:
return
elif choice == 2:
print(" what do
you think the difference of these two numbers are? ", a, " - ",
b)
cnt=0 # To hold
number of tries
while
True:
subt = input()
answer = int(subt)
if answer == obj.sub():
print("Perfect, the answer is
correct...")
return
elif answer != obj.sub():
print("I am sorry, your
answer is wrong kitto,Please Try again:")
# Incrementing count
cnt = cnt + 1
# Checking count
if cnt == 3:
#
Prompting for next try
ans =
input("\nMax number of tries reached. Do you want to try another
question or quit? (T/Q): ")
# Checking
answer
if
ans.upper() == "T":
return playQuiz()
else:
return
elif choice == 3:
print(" what do
you think the multiplication of these two numbers are? ", a, " * ",
b)
cnt=0 # To hold
number of tries
while
True:
mult = input()
answer = int(mult)
if answer == obj.mul():
print("Perfect, the answer is
correct...")
return
elif answer != obj.mul():
print("I am sorry, your
answer is wrong kitto,Please Try again:")
# Incrementing count
cnt = cnt + 1
# Checking count
if cnt == 3:
#
Prompting for next try
ans =
input("\nMax number of tries reached. Do you want to try another
question or quit? (T/Q): ")
# Checking
answer
if
ans.upper() == "T":
return playQuiz()
else:
return
elif choice == 4:
print(" what do
you think the division of these two numbers are? ", a, " / ",
b)
cnt=0 # To hold
number of tries
while
True:
divt = input()
answer = int(divt)
if answer == obj.div():
print("Perfect, the answer is
correct...")
return
elif answer != obj.div():
print("I am sorry, your
answer is wrong kitto,Please Try again:")
# Incrementing count
cnt = cnt + 1
# Checking count
if cnt == 3:
#
Prompting for next try
ans =
input("\nMax number of tries reached. Do you want to try another
question or quit? (T/Q): ")
# Checking
answer
if
ans.upper() == "T":
return playQuiz()
else:
return
elif choice == 0:
print("Exiting!")
else:
print("Invalid
choice!!")
print()
# Calling function
playQuiz()
The pseudocode for the program is given below:
import random
create class cal
create constructor that takes two values set it to a and b respectively
create function add that return a+b
create function mul that return a*b
create function div that return a/b
create function sub that return a-b
function playQuiz
print "0. Exit"
print "1. Add"
print "2. Subtraction"
print "3. Multiplication"
print "4. Division"
take choice from user convert it to int
generate random number between 0 to 9 and store into a
generate random number between 0 to 9 and store into b
create object of class cal
continue until choice not equal to 0
if choice is 1
then print "what do you think the sum of these two numbers are? a + b "
set number of tries to 0
while true
take input from user(sum of a+b) into sum
convert sum to int and store into answer
if answer is same as the value that is returned by calling the function add of the class cal
then print "Perfect, the answer is correct..."and return
else if answer is not same as the value that is returned by calling the function add of the class cal
then print "I am sorry, your answer is wrong kitto,Please Try again:"
and increment number of tries by 1
and check if number of tries is equal to 3
then print Max number of tries reached.
and ask user Do you want to try another question or quit? (T/Q):
if user enter T then return PlayQuiz function
otherwise do return only
if choice is equal to 2
then print "what do you think the difference of these two numbers are? a-b"
set number of tries to 0
while true
take input from user( eg. 3 which is subtraction of a-b) and convert it to int and store into answer
if answer is same as the value that is returned by calling the function sub of the class cal
then print "Perfect, the answer is correct..."and return
else if answer is not same as the value that is returned by calling the function sub of the class cal
then print "I am sorry, your answer is wrong kitto,Please Try again:"
and increment number of tries by 1
and check if number of tries is equal to 3
then print Max number of tries reached.
and ask user Do you want to try another question or quit? (T/Q):
if user enter T then return PlayQuiz function
otherwise do return only
if choice is equal to 3
then print "what do you think the multiplication of these two numbers are? a*b"
set number of tries to 0
while true
take input from user(eg. 15 which is multiplication of a*b) and convert it to int and store into answer
if answer is same as the value that is returned by calling the function mul of the class cal
then print "Perfect, the answer is correct..."and return
else if answer is not same as the value that is returned by calling the function mul of the class cal
then print "I am sorry, your answer is wrong kitto,Please Try again:",
and increment number of tries by 1
and check if number of tries is equal to 3
then print Max number of tries reached.
and ask user Do you want to try another question or quit? (T/Q):
if user enter T then return playQuiz function like( return playQuiz())
otherwise do return only like (return)
if choice is equal to 4
then print "what do you think the division of these two numbers are? a/b"
set number of tries to 0
while true
take input from user(eg.2 division of a/b) and convert it to int and store into answer
if answer is same as the value that is returned by calling the function div of the class cal
then print "Perfect, the answer is correct..."and return
else if answer is not same as the value that is returned by calling the function div of the class cal
then print "I am sorry, your answer is wrong kitto,Please Try again:"
and increment number of tries by 1
and check if number of tries is equal to 3
then print Max number of tries reached.
and ask user Do you want to try another question or quit? (T/Q):
if user enter T then return PlayQuiz function like( return playQuiz())
otherwise do return only like(return)
if choice is equal to 0
then print “Exiting!”
for any other choice
print” Invalid choice!!”
call function playQuiz