这是提示: 在第一行上,显示列表的第一个,最后一个和中间元素,以,字符分隔。
我已经尝试弄清楚了几个小时,但是不知道返回数组中间的正确过程。到目前为止,这是我的代码:
primary = []
length = 0
i = ("MORE")
while i != "NOMORE":
i = str(input("?"))
print(i)
if i == "NOMORE":
break
primary.append(i)
length = length + 1
mid = (length/2)
print(primary[0]," , ", primary[-1]," , ",primary.pop([mid]))
代码可以从程序中获取正确的输入,但是由于列表是可变长度的,因此我假设将使用某种形式的循环。 primary.pop([mid])是我尝试打印中位数的糟糕尝试。我知道不会打印中间的文字,因为它是错误的变量类型,但是我将如何替换呢?
感谢您的帮助。
答案 0 :(得分:1)
当您只需要使用pop()
索引primary
时,就不必使用[mid]
在primary
上调用mid
方法。您还应该使用//
运算符而不是/
来获取索引的整数值。由于索引是从0开始的,因此中点应改为(length - 1) // 2
:
primary = []
length = 0
i = ("MORE")
while i != "NOMORE":
i = str(input("?"))
print(i)
if i == "NOMORE":
break
primary.append(i)
length = length + 1
mid = (length - 1) // 2
print(primary[0]," , ", primary[-1]," , ",primary[mid])