我对python还是一个非常陌生的人,目前一直在研究这个问题。基本上,我把一系列数字加起来,从零开始。代码将每一行写入一个新数组。如果在这个新数组中找到两个相同的数字,它将停止并返回该数字。如果找不到重复的值,则原始值列表会自动重复。你知道吗
以下是我目前掌握的情况:
file = open("list.txt", "r")
array1 = file.readlines()
total = 0
finalValue = 0
for i in range(0,len(array1)):
array1[i] = int(array1[i])
array2 = []
i = 0
counter = 0
while finalValue == 0:
total += array1[i]
array2.append(total)
print(array2)
for c in range(0,len(array2)):
if (total == array2[c]):
counter += 1
if counter == 2:
finalValue = total
break
if (i == len(array1)-1):
i = 0
else:
i += 1
counter = 0
print(finalValue)
我认为计数器在工作,但它从来没有找到一个重复的,也就是说,它从来没有击中第二个计数器。你知道吗
有很多方法可以简化Python中的代码,但首先,问题是条件
total == array2[c]
将数组元素与total
进行比较,而不是相互比较。例如,如果数组是
[1,3,3]
,则第二个3
将与4
比较,而不是与3
比较。如果我理解了您的代码,我认为您希望将
total == array2[c]
更改为array1[i] == array2[c]
——但这只是一个立即解决的问题,您可以使用python的列表技术使代码更简单。你知道吗相关问题 更多 >
编程相关推荐