2017-02-08 88 views
0

我試過搜索,但無法找到我的情況。奮鬥'測驗'python類邏輯

我有一個函數可以產生一個代數方程,一個問題和一個答案。我試圖找出如何將這個傳遞給一個類。以下是代碼的一小部分

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) 

我的最終目標是能夠通過繼承創建一個變量,然後在GUI中使用。

謝謝

+1

歡迎(因此)。我沒有遵循你想要獲得幫助的內容。請查看[問]和[mcve]並編輯您的問題。 – TemporalWolf

+0

一旦你有問題文本的值,回答文本,選項和等式,你可以像這樣傳遞給構造函數:'問題(問題,答案,等式,選項)'。它看起來像'questionMaker'應該是'@ classmethod',並且基本上做了'generateLinear1',然後創建並返回一個Question實例。例如。 'q = Question.generateLinear()'會給你一個線性方程的問題。 – 9000

+0

一般來說,首先想想你的數據會有幫助:你需要什麼樣的數據和你想要的數據。之後,對算法的思考就比較容易了。 – 9000

回答

0

這裏有一個方法可以讓你在它去:

class Person(object): 
pass 


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



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