2017-08-18 115 views
-5

我的問題是相當容易,我認爲...爲什麼返回不能返回我的變量?

我需要通過一個excel列表,只是想打印出某些領域(開始只有前10行(所以low_run = 0,high_run = 10 ,並運行= 10太)

現在我想獲得未來10所以我需要:

def get_input(high_run, low_run, run): 
    pressed_key = input('') 

    if pressed_key == "n": # Next Page 
     set_high_run_np(high_run, run) 
     set_low_run_np(low_run, run) 

def set_high_run_np(high_run, run): 
    if high_run != len(ldata): 
     high_run = high_run + run 

    return high_run 

def set_low_run_np(low_run, run): 
    if low_run != len(ldata) - run: 
     low_run = low_run + run 

    return low_run 

的功能做的工作,並會推出low_run = 10和high_run = 20。它剛剛獲得」 t返回這些數字,以便他們可以使用...任何想法爲什麼?

提前致謝,對於任何語法錯誤感到抱歉。沒有母語的人

Cya!

+7

那麼他們顯然*做*返回值,所以別的事情正在發生。請說明你如何使用這些函數以及你在使用返回值時遇到什麼問題。 –

+3

向我們展示您撥打 – stybl

+0

功能的部分代碼。編輯它的問題 – MisterMojo

回答

0

我想你好想在第一功能

def get_input(high_run, low_run, run): 
    pressed_key = input('') 

    if pressed_key == "n": # Next Page 
     return set_high_run_np(high_run, run), set_low_run_np(low_run, run) 

def set_high_run_np(high_run, run): 
    if high_run != len(ldata): 
     high_run = high_run + run 

    return high_run 

def set_low_run_np(low_run, run): 
    if low_run != len(ldata) - run: 
     low_run = low_run + run 

    return low_run 

我增加了收益回報。我選擇返回一個在Python中用逗號完成的值的元組。但還有很多其他方法可以選擇返回值,只需要返回它們即可。

+0

仍然無法正常工作...當我進入調試時,雖然即時在set_high_run_np(所以他計算後,但在它返回之前)high_numb是20但返回後high_numb仍然是10 ...可能是解釋問題不正確,但多數民衆贊成在即看到 – MisterMojo

+0

所以,如果我得到它的權利,其他功能(set_high_run_np和set_low_run_np)沒有返回?他們返回無或錯誤的價值?也許提供一個上下文代碼來查看這些函數的使用位置。什麼是數據? –

+0

而且,也許你認爲你傳遞的是high_run和low_run作爲參考,而不是因爲它們是整數。你是否更新你的外部價值?如果你將它們作爲全局變量,爲什麼將它們傳遞給函數?你可以像使用ldata一樣使用它們,我可以看到它是一個全局變量。 –

相關問題