【发布时间】:2022-01-14 08:40:20
【问题描述】:
我的代码采用一系列数字并确定所有数字是否彼此不同:
lst=[]
while True:
num=input('enter:')
if num=='done':
break
n=int(num)
lst.append(n)
print(lst)
c=0
lst1=lst
print(lst1)
for i in lst:
for j in lst1:
if lst[i] == lst1[j]:
c+=1
if c==1:
print("true")
else:
print("false")
代码仅在满足(c==1) 时才有效,否则显示list is out of index in line 14
【问题讨论】:
-
i 和 j 是通过 input() 获取的值。它们不是索引。因此,这些值可能会超出列表的范围
-
您正在迭代
lst的元素,然后尝试使用这些元素的值索引到同一个列表中。假设lst包含值1000,这并不意味着lst[1000]存在。您的代码中还有其他语义错误。
标签: python list loops for-loop if-statement