【发布时间】:2018-05-09 21:41:47
【问题描述】:
sequence = [1, 1, 1, 2, 3]
sequence2 = []
k = 0
if len(sequence) == 2 or len(sequence) == 1:
print('Great!')
else:
for element in range(0, (len(sequence))):
sequence2.append(sequence[element])
sq = sequence2.index(sequence2[-1])
print(sequence2, sq)
if sequence2 == sorted(sequence2):
print('This is good thus far:', sequence2)
else:
print(sequence2[sq-1], sequence2[sq])
print(sequence2.index(sequence2[-1]))
if sequence2[sq-1] >= sequence2[sq]:
sequence2.pop(sequence2.index(sequence2[sq - 1]))
print('We poppoed an element')
print(sequence2)
k = k+1
if k >= 2:
print(sequence2)
print('This doesnt work')
else:
print('Works properly!')
输出:
[1] 0
This is good thus far: [1]
[1, 1] 0
This is good thus far: [1, 1]
[1, 1, 1] 0
This is good thus far: [1, 1, 1]
[1, 1, 1, 2] 3
This is good thus far: [1, 1, 1, 2]
[1, 1, 1, 2, 3] 4
This is good thus far: [1, 1, 1, 2, 3]
Works properly!
大家好;我有一个问题,为什么程序在前 3 次迭代时返回 0 表示 sq?它不应该给我0、1、2..吗?在过去的 2 天里,我无法绕开它......
【问题讨论】:
-
1在[1, 1, 1]中的第一个索引是什么? -
您正在搜索列表中第一次出现的
1。为什么你期望它返回 0 以外的东西?您从文档中看不懂什么? -
您可以在此处阅读有关列表函数的更多信息:docs.python.org/2/tutorial/datastructures.html