以下是我的代码:
def alt_ele():
mylist=list(input("Enter the elements: "))
newlist=[int(i) for i in mylist]
final_list=[]
try:
for x in range(len(newlist)):
final_list.append(newlist.pop(0))
final_list.append(newlist.pop())
print(final_list)
except IndexError:
pass
现在我给出的输入是:
I/N:输入元素:12345
我想要的输出是[1,5,2,4,3]
但我实际得到的输出是:
[1,5]
[1,5,2,4]
谁能帮我找出我哪里出了问题?我试过了,但是,我自己无法弄清楚提前谢谢。
print
语句需要在 try
/except
子句之后:
def alt_ele():
mylist=list(input("Enter the elements: "))
newlist=[int(i) for i in mylist]
final_list=[]
try:
for x in range(len(newlist)):
final_list.append(newlist.pop(0))
final_list.append(newlist.pop())
except IndexError:
pass
print(final_list)
有了这个,我们得到了所需的输出。
我不认为这是最好的解决方案,所以这里有一种方法可以避免try
/except
子句:
def alt_ele():
mylist=list(input("Enter the elements: "))
newlist=[int(i) for i in mylist]
final_list=[]
switch = False
while newlist:
final_list.append(newlist.pop(-switch))
switch = not switch
print(final_list)
您当前正在循环的每次迭代中打印列表。小心缩进。
它应该是:
for x in range(len(newlist)):
final_list.append(newlist.pop(0))
final_list.append(newlist.pop())
print(final_list)