-5

This is my code. In the first def function, I made it return column_choose, and I wanna use column_choose's value in second def function(get_data_list). What can I do? I have tried many times. But IDLE always show:global name 'column_choose' is not defined.

How to use column_choose's value in second function? By the way, I use 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()
4

2 に答える 2

0
  1. インデント形式はエラーですか?

  2. 関数で使用returnしているので、後でget_column_number使用する必要はありませんbreak

  3. 関数get_column_numberは変数を返すので、変数に割り当てるために使用できます

    と同じように:

    var = get_column_number()
    

    次にvar変数を使用します

  4. グローバル変数にしたい場合は、次を使用できます。global

基本的な知識を習得するには、Pythonの本を読む必要があると思います

于 2013-02-25T03:52:31.970 に答える
0

変数に列番号を割り当てる必要があります。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])
于 2013-02-25T02:15:46.897 に答える