Как вы на самом деле запускаете программу после создания классов? - PullRequest
0 голосов
/ 27 марта 2020

Я должен создать математическую игру с использованием классов, которые будут:

  1. Один метод случайным образом создает математическое выражение, состоящее из 2 чисел и случайно сгенерированного математического оператора (пример 3 + 4 =)

  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
...