Python 为什么不是';当我在交互模式下执行时,我的函数不返回任何东西,但正在返回吗?

Python 为什么不是';当我在交互模式下执行时,我的函数不返回任何东西,但正在返回吗?,python,python-3.x,Python,Python 3.x,当我在交互模式下执行下面提到的代码时,它给出了所需的输出。但是当我试图通过调用函数来执行它时,它不会返回任何东西。为什么会这样 def alt_ele(): mylist=list(input("Enter the elements: ")) newlist=[int(i) for i in mylist] try: for x in range(len(newlist)): newlist.pop(0) n

当我在交互模式下执行下面提到的代码时,它给出了所需的输出。但是当我试图通过调用函数来执行它时,它不会返回任何东西。为什么会这样

def alt_ele():
    mylist=list(input("Enter the elements: "))
    newlist=[int(i) for i in mylist]
    try:
        for x in range(len(newlist)):
            newlist.pop(0)
            newlist.pop()
    except IndexError:
        pass

您需要在
函数中添加
return
语句。在
交互
模式下,当
函数
的输出未分配给变量时,它们将被打印出来。例如:

>>> 3 + 5        //no variable assignment prints out the result
8
但是如果在
python
文件中有一行是
3+5
,那么
8
将不会被
打印出来,因为您不再处于
交互模式

同样的逻辑也适用于
函数
。如果要打印从
新列表
中弹出的
值,可以通过将这些行修改为:

print(new_list.pop(0))
print(new_list.pop())
或者您可以在
函数的末尾添加
return
语句


我希望这会有所帮助,但是,由于我不知道您希望
返回什么
(例如
列表
,或者只是第一个
pop()
),因此我无法真正帮助您执行
返回
语句

您没有
return
语句。要从函数返回值,需要声明
return
和value。添加
returnnewlist.pop()
请澄清问题。您希望函数返回什么?。按原样,函数返回
None
。输入应该如何格式化<代码>1 2 3 4
将由于空格而引发ValueError
1234
将给出
newlist=[1,2,3,4]
如果您试图返回
newlist
您将得到一个空列表。请澄清您想要实现的目标我希望输入为1234,我希望输出为1423。谢谢您的帮助。我是python的高手。我的印象是pop直接返回值。感谢您的帮助。@Snehasishaha您的欢迎请投票并接受以表示您的感谢:)