如何在第二个函数中使用第一个函数的返回值?

时间:2013-02-25 02:10:48

标签: python python-3.x tuples function

这是我的代码。在第一个def函数中,我让它返回column_choose,我想在第二个def函数(get_data_list)中使用column_choose的值。我能做什么?我已多次尝试过。但IDLE始终显示:未定义全局名称“column_choose”。

如何在第二个函数中使用column_choose的值? 顺便说一下,我使用python 3.2

def get_column_number():
while True:
    column_choose = input('What column:')
    if column_choose == '1' or column_choose == '2' or column_choose == '3' or column_choose == '4' or column_choose == '5' or column_choose == '6':
        column_choose = int(column_choose)
        return column_choose
        break
    else:
        print('bad column number, try again')

def get_data_list(column_number):
new_column_number = column_number.split(',')
date_column = new_column_number[0]
choose_column = new_column_number[column_choose-1]

return result

def main():
#Call get_input_descriptor
get_input_descriptor()
#Call get_column_number
get_column_number()

file_obj = open("table.csv", "r")
for column_number in file_obj:
    column_number = (column_number.strip())
    result = get_data_list(column_number)
    print(result)

file_obj.close()
main()

2 个答案:

答案 0 :(得分:0)

您需要为变量指定列号。此外,您不需要break语句,因为您在返回后将其放入。{/ p>

#Call get_column_number
column_num = get_column_number()

另外,我不确定你是否正确编写代码。这条线 for column_number in file obj:正在遍历您的csv文件。如果您尝试访问特定列,则可以执行以下操作:

content = ''
file_obj = open('table.csv','r')
content = fle_obj.split(',')
print(content[column_number])

答案 1 :(得分:0)

  1. 您的缩进格式是错误吗?

  2. 您在return函数中使用了get_column_number,因此您无需在其后使用break

  3. 函数get_column_number返回一个变量,因此可以使用它赋值给变量

    就像:

    var = get_column_number()
    

    然后使用var variable

  4. 如果您希望它是全局变量,可以使用global

  5. 我认为你需要阅读一本python书来掌握基本知识