我应该要求用户输入一个数字,然后打印之前的所有数字,但是,我必须在每个偶数之后插入一个0。 我是Python的初学者,所以我不太了解。
n=0
length_even=[]
length_odd=[]
def length_list(n):
length=int(input('Enter the length of the list: '))
for i in range(1,length+1):
if(i%2 != 0):
length_odd.append(i)
elif(i%2 == 0) :
length_even.append(i)
length_even.insert(i,0)
total=length_odd+length_even
return total
length_list(n)
如果用户输入5,我希望输出为[1,2,0,3,4,0,5],但是实际输出为(1,3,5,2,0,4,0 ]。
答案 0 :(得分:0)
问题在于,在将值添加到每个列表(length_odd包含:+
和length_even包含:)后,您创建了两个独立的列表(length_even和length_odd)并连接(1,3,5
运算符)。 2,0,4,0
)。因此,您得到的结果是:1,3,5,2,0,4,0
。您为什么不只使用一个列表?看看下面的代码(为了避免混淆,我仅作了些微改动):
n=0
lengthList = []
def length_list(n):
length=int(input('Enter the length of the list: '))
for i in range(1,length+1):
if(i%2 != 0):
lengthList.append(i)
elif(i%2 == 0) :
lengthList.append(i)
lengthList.append(0)
return lengthList
length_list(n)