2017-02-08 2 views
0

Ich habe versucht, aber konnte meine Situation nicht finden.Kämpfen mit 'Quiz' Python-Klasse Logik

Ich habe eine Funktion, die eine algebraische Gleichung, eine Frage und eine Antwort erzeugt. Ich versuche herauszufinden, wie ich das an eine Klasse weitergeben kann. Unten ist ein kleiner Teil des Codes

class Question: 
    def __init__(self,question,answer=None,equation=None, options=None): 
     self.question = question 
     self.answer = answer 
     self.options = options 
     self.equation = equation 

    def questionMaker(self): 
     pass 

def generateLinear1(): 

    x = sympy.Symbol('x') 

    sign1 = random.choice([operator.add,operator.sub]) 
    sign2 = random.choice([operator.add,operator.sub]) 

    consts = [random.randint(1,10) for i in range(0,4)] 

    equation = sympy.Eq(sign1(consts[0]*x,consts[1]) ,sign2(consts[2]*x,consts[3])) 

    #Define answers 
    answer = sympy.solveset(equation) 

    return "Solve for x: %s" % (equation) 

Mein Endziel in der Lage sein zu können, ist eine Variable über Vererbung erstellen dann in der Benutzeroberfläche zu verwenden.

Danke

+1

Willkommen bei [so]. Ich folge nicht dem, was Sie versuchen, Hilfe zu bekommen. Bitte überprüfen Sie [ask] und [mcve] und bearbeiten Sie Ihre Frage. – TemporalWolf

+0

Sobald Sie Werte für Fragetext, Antworttext, Optionen und Gleichung haben, übergeben Sie sie an den Konstruktor wie folgt: 'Frage (Frage, Antwort, Gleichung, Optionen)'. Es sieht so aus, als ob 'questionMaker' eine' @ classmethod' wäre und im Grunde genommen was 'generateLinear1' tut, dann erstellt und gibt eine Question Instanz zurück. Z.B. 'q = Question.generateLinear()' würde Ihnen eine Frage für eine lineare Gleichung geben. – 9000

+0

Im Allgemeinen hilft es, zuerst über Ihre Daten nachzudenken: Welche Daten benötigen Sie und welche Daten zusammen möchten Sie? Das Nachdenken über den Algorithmus ist danach einfacher. – 9000

Antwort

0

Hier ist ein Weg für Sie, um es zu gehen:

class Person(object): 
pass 


def play(): 
    print "i'm playing!" 



p = Person() 
p.play = play 
p.play()