【问题标题】:Passing function return as parameter to another function将函数返回作为参数传递给另一个函数
【发布时间】:2021-04-21 23:53:30
【问题描述】:

此代码有 2 个函数,一个用于从用户那里获取列表,另一个应该删除此列表中的重复项,它可以在不使用函数的情况下完成,但我在 Python 中学习函数。 如何获取用户在函数 take_list() 中输入的列表并将其传递给函数 no_duplication() ? 当我这样做时,我得到了这个错误

未解析的引用“k”

在线:no_duplication(k)

def take_list():
    k = []
    i = 0
    list_length = int(input("how many elements your list has ? \n "))
    while i < list_length:
        element = int(input("enter you list elements : "))
        k.append(element)
        i += 1
    print(k, "  is your list")
    return k

def no_duplication(k):
    k = set(k)
    k = list(k)
    print(k, " Your list without duplications")
 

take_list()
no_duplication(k)

【问题讨论】:

  • k 在代码的最后一行中未定义。你想要k=take_list(),然后是no_duplication(k)。或者,综合起来,你可以这样做:no_duplication(take_list()).
  • @trincot 谢谢!我不知道有这样的方法。
  • @MrXQ,只是为了避免混淆 - k = take_list() 中的 k 与函数体内使用的 k 不同。如果他们愿意,可以使用不同的名称。

标签: python python-3.x function parameters parameter-passing


【解决方案1】:

您需要将返回值分配给一个新变量并将其作为参数传递给no_duplication

k = take_list()
no_duplication(k)

【讨论】:

    猜你喜欢
    • 2021-04-10
    • 1970-01-01
    • 2017-08-07
    • 2013-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-10
    • 1970-01-01
    相关资源
    最近更新 更多