Я пытаюсь сделать проект Эйлера проблемы 8. Вот общая идея, что я делаю:Почему мой список становится короче и короче?
- Я спасаю номера они дали в текстовом файле;
- Я читаю числа из файла в список;
- Я проверяю продукт каждого 13-го числа в строке; и
- сейчас я вывод, что набор из 13 чисел, составляющие куски (я сделал это потому, что мой выход продолжал выходить неправильно, поэтому я, убедившись, что моя программа правильно читает каждый кусок.)
У меня появилось несколько проблем с моей программой, и в моем процессе устранения неполадок я обнаружил, что по какой-то причине мой список, в котором хранится текущая строка, сокращается до тех пор, пока он не существует. Я не знаю, почему это происходит, что я могу сделать, чтобы это исправить?
Вот мой исходный код:
with open("product.txt") as f:
array = []
for line in f:
line = line.split()
if line:
line = [int(i) for i in line]
array.append(line)
def product(k): #Largest product of row k
i = 0 #The start of the chunk of 13 terms
row = str(array[k][0])
while i < len(row) - 12: #Stop when i is 13 characters away from end of row
j=0 #The start of our run-through of the chunk
total = 1 #Set this value to 1 so that we can compare the next chunk of 13
while j < 13: #Go outward to the 12th element only since we include 0
total = total * int(row[i+j]) #The first character * the next 12
j += 1
#End of j while
print (row[i:13]) #To verify that the program is reading size 13 blocks
i += 1 #End of i while
return total
print (product(0))
Текстовый файл просто скопировать и вставить чисел от problem 8.
Благодарим за разъяснение этого! Я сталкивался с этим, когда читал, что, как я уже сказал, я не так много разбираюсь в программировании, особенно на питоне, я просто начал его подбирать. – Seraphim