【问题标题】:How to use first function's return value in second function? [closed]如何在第二个函数中使用第一个函数的返回值? [关闭]
【发布时间】:2013-02-10 03:08:46
【问题描述】:

这是我的代码。在第一个 def 函数中,我让它返回 column_choose,我想在第二个 def 函数 (get_data_list) 中使用 column_choose 的值。我能做些什么?我已经尝试过很多次了。但是 IDLE 总是显示:global name 'column_choose' is not defined。

如何在第二个函数中使用 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()

【问题讨论】:

  • 你应该编辑你的代码,缩进是错误的

标签: python python-3.x tuples function


【解决方案1】:

您需要将列号分配给变量。此外,您不需要 break 语句,因为您将它放在返回之后。

#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])

【讨论】:

  • 如何将列号分配给变量?它现在是一个局部变量。
  • 谢谢老兄!我想通了。
【解决方案2】:
  1. 您的缩进格式错误?

  2. 你已经在你的get_column_number函数中使用了return,所以你不需要在它之后使用break

  3. 函数get_column_number返回一个变量,所以你可以用它赋值给一个变量

    就像:

    var = get_column_number()
    

    然后使用 var 变量

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

我觉得你需要读一本python书才能掌握基本知识

【讨论】:

    猜你喜欢
    • 2018-02-01
    • 2019-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-18
    • 2020-11-20
    • 2016-05-02
    相关资源
    最近更新 更多