当在另一个函数中调用函数时,为什么我不能返回列表?

时间:2017-04-28 18:17:55

标签: python python-3.x

我正在尝试在代码末尾打印列表。但是,我似乎无法弄清楚当在另一个函数中调用它时如何返回列表。

到目前为止,这是我的代码:

def main():
    select()
    print(list1, list2)
def select():
    select = 0
    select = int(input('Select one of the following: \n'
                   '(1) for list one \n'
                   '(2) for list two'))
    try:
        if select == 1:
            one()
        elif select == 2:
            two()
    except ValueError:
        print('try again')
def one():
    list1 = []
    list1.append(1)
    return list1
def two():
    list2 = []
    list2.append(1)
    list2.append(2)
    return list2
def print(list1, list2):
    print(list1)
    print(list2)
main()

1 个答案:

答案 0 :(得分:4)

您需要return one()two()的值,否则您将调用它们并将其返回值抛弃。

if select == 1:
    return one()
elif select == 2:
    return two()
当您致电main()时,select()中的内容相同。你需要对返回值做一些事情。

def main():
    result = select()
    print(result)

摆脱print()功能。你不想暗中内置的那个。

def print(list1, list2):
    print(list1)
    print(list2)