这是我遇到的问题类型的一个简单示例:
def making_list(text):
list_ = []
i = 0
while i < int(len(text)):
list_.append(text[i])
i += 1
return list_
def calling_list(list_):
print list_
text = raw_input("text input")
making_list(text)
calling_list(list_)
来自 making_list 的变量 list _ 无法被 calling_list 功能识别。这个问题的可能解决方案是什么?
谢谢
答案 0 :(得分:3)
您不会将变量存储在任何位置。
mylist = making_list(text)
calling_list(mylist)
说明:变量名仅在函数范围内有效。如果你离开函数(返回一些局部变量),你只返回变量的'value',而不是它的名字,你需要将它分配给外面的变量。
答案 1 :(得分:0)
您必须声明将making_list
的输出作为其值的变量。 making_list
函数返回list_
;但是如果你没有将它分配给你的函数中的另一个变量,你就无法达到它。
list_ = making_list(text)
将解决您的问题。
答案 2 :(得分:0)
您的making_list
- 函数不会返回任何内容。这将有效
list = making_list(text)
calling_list(list)
这将有效。
答案 3 :(得分:0)
我不想更改或优化您的代码,我只想提供一个可能的解决方案:
1)如果您希望list_
存储在内存中,请更改代码的最后两行,如下所示:
list_=making_list(text)
calling_list(list_)
现在,您可以在代码中的任何位置访问list_。
2)如果您不想存储list_
并且只想打印并忘记它,请删除代码的最后两行并写下此行:
calling_list(making_list(text))