2013-04-11 59 views
-1

我已經看到了很多這個問題,但我仍然無法看到我做錯了什麼。python,參數數目麻煩

我有幾個滑塊,我想要我正在移動的那個值,以及哪個滑塊正在移動。

做到這一點:

def reading(self,value): 
    sender=self.sender() 
    slider=sender.objectName()[6:] 
    value_slider=value 

    return slider, value_slider 

,似乎工作,問題是下一個功能。現在 ,我想要做一些東西與滑塊移動值:

def prsn(self,slider,value_slider): 
    wv=np.linspace(380,780,401) 
    leds=np.genfromtxt('led_psd.txt') 
    leds_norm=leds/leds.max() 
    Pot_ajust=0 
    for i in range(0,leds_norm.shape[1]): 
     Pot_ajust=Pot_ajust+value_slider*leds_norm[:,slider]; 

和我有錯誤:prsn()正是以3個參數(1給出)

爲什麼我不是「給」prsn()3的參數?它就像它不讀取value_slider和滑塊

我應該如何將value_slider和滑塊傳遞給其他函數?

非常感謝你對任何提示

+6

請告訴我們你在哪裏調用'prsn()'。 – cdhowie 2013-04-11 15:20:16

+0

我猜你正在調用這樣的函數:'prsn()'。你的函數被定義爲接受'slider,value_slider'參數。當調用'prsn(slider,value_slider)'時,傳遞'slider'和'value_slider' – That1Guy 2013-04-11 15:25:04

回答

0

這裏是你應該怎麼稱呼prs​​n:

s = stuff 
vs = other_stuff 
thingy.prsn(s,vs) 

OR

thingy.prsn(slider=s,value_slider=vs) 

這意味着,在prsn的範圍:

self = thingy 
slider = s 
value_slider = vs 

請現在當你問一個問題時,包括導致異常的代碼行。