При создании функции, которая вычитает числа из элемента (все данные пользователя и вычисляет непрерывно), компилятор отображает только все вычисленные элементы.
Попытка передачи счетчика в качестве аргумента функции вычитания, но независимо от того, что я пытаюсь сделать с циклом for, я получаю индекс ошибок за пределами границ
def number_list(operator_item): #Creates a list of numbers, after calculation, list is returned to main to be assigned to list_of_numbers variable
number_list = []
counter = 1
print("Enter one value at a time and press enter, press = and enter to proceed")
while number_list != "=": # Calculations are entered until the user types the equal sign, then the answer is returned to main
try:
list_value = float(input())
except ValueError: # Used an exception to confirm sentinel value, this is to maintain accuracy with float number calculations. No error is handled unless "=" is not entered second time
sentinel_value = input("Press '=' again to complete calculation and copy answer to system clipboard.\n\n")
if sentinel_value == "=":
copy(running_total)
return running_total
else:
print("Invalid entry!")
number_list.append(list_value) #Each number that is input will be added to list
counter += 1
# I have functions for sum and product, but are excluded for relevance
if operator_item == "-":
running_total = subtraction(number_list, counter)
print("Current difference:", running_total)
def subtraction(number_array, number_element):
total = list(itertools.accumulate(number_array, operator.sub))
return total
Вот мои реальные результаты компиляции.Я просто вычитаю 5 каждый раз.
Введите по одному значению за раз и нажмите ввод, нажмите = и введите, чтобы продолжить
5 (Это число, которое я ввожу на клавиатуре)
Разность токов: [5,0]
5 (Это число, которое я ввожу на клавиатуре)
Разность токов: [5,0, 0,0]
5(Это число, которое я ввожу на клавиатуре)
Текущая разница: [5.0, 0.0, -5.0]
Я ожидал, что это будет так:
Введите по одному значению за раз и нажмите ввод, нажмите = и введите, чтобы продолжить
5 (Это число, которое я ввожу на клавиатуре)
Разница тока: 5,0
5 (Это число, которое я ввожу на клавиатуре)
Разность тока: 0,0
5 (Это число, которое я ввожу на клавиатуре)
Разница тока: -5.0
Как мне заставить его обрезать скобки и все предыдущие элементы?