python:返回一个函数并在另一个函数

时间:2017-07-10 19:14:26

标签: python function return

大家好我通过将所有内容放在一个函数中来获取我的代码

 spam = ''
def enterList (names):   
    newList = []
    while True:
        names = raw_input('list a series of items and press blank when finished: ')
        if names == '':
            break
    newList = newList + [names]

    a = ''
    finalText = ''
    listOfStuff = []
    item = 0
    for i in newList:
        if item < len(newList)-2:
            a = (i + ', ')
            listOfStuff.append(a)
            item +=1
        elif item == len(newList)-2:
            a = (i + ' and ')
            listOfStuff.append(a)
            item +=1
        else:
            a = i
            listOfStuff.append(a)
            break
    finalText = finalText.join(listOfStuff)
    return finalText

print enterList(spam)

所以上面的代码就像我想要的那样工作。但是我试图通过两个单独的函数来做同样的事情,我遇到的问题是我无法获取一个函数的返回值并在下一个函数中使用它。

这是旧代码

spam = ''

def enterList (names):   
    newList = []
    while True:
        names = raw_input('list a series of items and press blank when finished: ')
        if names == '':
            break
        newList = newList + [names]

    return newList 

print enterList(spam)

def newFunc(Addand):
    a = ''
    finalText = ''
    listOfStuff = []
    item = 0
    for i in spam:
        if item < len(spam)-2:
            a = (i + ', ')
            listOfStuff.append(a)
            item +=1
        elif item == len(spam)-2:
            a = (i + ' and ')
            listOfStuff.append(a)
            item +=1
        else:
            a = i
            listOfStuff.append(a)
            break
    finalText = finalText.join(listOfStuff)
    return finalText


newFunc(spam)

print newFunc (spam)

我不确定我这样做是怎么回事。 感谢您帮助我解决这个问题的错误。

1 个答案:

答案 0 :(得分:-1)

在你的第一个函数中创建return语句

return newFunc(newlist)

它无法正常工作,因为第二个函数实际上从未被调用过。