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
将由于空格而引发ValueError1234
将给出newlist=[1,2,3,4]
如果您试图返回newlist
您将得到一个空列表。请澄清您想要实现的目标我希望输入为1234,我希望输出为1423。谢谢您的帮助。我是python的高手。我的印象是pop直接返回值。感谢您的帮助。@Snehasishaha您的欢迎请投票并接受以表示您的感谢:)