Я делаю некоторые примеры программирования для практики для предстоящего соревнования, и я оказался в тупике по довольно простой проблеме.Обработка индекса списка как целого
В принципе, пользователь должен ввести х количество цифр, и я должен вернуть сумму чисел. Условие состоит в том, что каждый раз, когда они вводят 0, это означает, что я должен игнорировать последний номер, который они ввели, поэтому он больше не будет больше от суммы.
Вот мой код:
numbers = []
index = 0
total = 0
k = input("How many numbers would you like to enter? (1- 100000)" + "\n").strip()
for x in range (int(k)):
number = input("Enter a number." + "\n").strip()
numbers.append(number)
if number == '0':
index = numbers.index(number)
numbers.pop([index - 1])
numbers.pop([index])
for y in range (len(numbers)):
for item in numbers:
total += int(item)
print(total)
ошибка в этой строке:
numbers.pop([index - 1])
Он говорит мне, что «список» объект не может быть истолкован как целое. Я изначально пытался сделать его int (index), надеясь, что он преобразует его в int, поэтому я могу выполнить вычитание, чтобы получить индекс числа перед ним, чтобы я мог выскочить из списка, но я получил то же самое сообщение об ошибке.
Можно ли использовать это значение как целое число, чтобы я мог выполнить вычитание. Или существует другой способ, чтобы получить индекс числа раньше?
Ничего себе, этот способ выглядит намного чище. Хотя мне хотелось бы получить разъяснения по этому поводу. в вашем заявлении результата elif, как это перевести, если число, которое они ввели, равно 0, сделайте следующее: –
Подождите, не подумайте, я подумал об этом немного, и я понимаю, спасибо за это! –
'if num:' проходит с правдой 'num', что является любым числом, кроме' 0'. В 'elif result:', мы знаем, что число было '0', поэтому мы проверяем, есть ли в нем элементы' result', убедившись, что это правда. Затем мы можем безопасно удалить элемент из него. – TigerhawkT3