Я должен создать математическую игру с использованием классов, которые будут:
Один метод случайным образом создает математическое выражение, состоящее из 2 чисел и случайно сгенерированного математического оператора (пример 3 + 4 =)
Один метод выводит уравнение на экран
Один метод дает правильный ответ
Один метод получает ответ пользователя и сообщает ему, если он правильный или нет
Я создал два кода (см. Ниже), но не могу заставить их работать правильно. Они оба бегают, но не так, как должны.
Код 1:
import random
class MathGame():
maxGuesses = 15
correctNumber = 0
numAttempts = 0
operator = 0
##
##game = MathGame()
##
##class GameContent():
def _init_(self, maximumGuesses):
self.maxGuesses = maixmumGuesses
def generateNumber(self, min, max):
self.correctNumber = random.randint(min,max)
def guessCorrect(self, value):
resturnAnswer = False
if(self.correctNumber == value):
returnAnswer = True
return returnAnswer
def guessWrong(self, value):
returnAnswer = False
if(self.correctNumber != value):
returnAnswer = True
return returnAnswer
def userNumber(value):
num1 = input(int())
num2 = input(int())
def mathOperators():
add = ('+')
sub = ('-')
mult = ('*')
div = ('/')
def equation():
equ = str('num1', 'random.mathOperators', 'num2')
print('equ')
Код 2:
import random
import operator
class MathGame():
def randomCalc():
ops = {'+':operator.add,
'-':operator.sub,
'*':operator.mul,
'/':operator.truediv}
num1 = random.randint(0,12)
num2 = random.randint(1,10)
op = random.choice(list(ops.keys()))
answer = ops.get(op)(num1,num2)
print('What is {} {} {}?\n'.format(num1, op, num2))
return answer
def askQuestion():
answer = randomCalc()
guess = float(input())
return guess == answer
def game():
print('Welcome. This is math game\n')
score = 0
for i in range(10):
correct = askQuestion()
if correct:
score += 1
print('Correct!\n')
else:
print('Incorrect!\n')
return 'Your score was {}/10'.format(score)
user = MathGame