Как добавлять значения из списка до получения требуемого значения?

#python #python-3.x #list #variables

#python #python-3.x #Список #переменные

Вопрос:

Мне нужна сумма значений в списке, но я не могу их извлечь, поскольку при использовании переменной index отображается ошибка.

 K = input()           # K=3
a = input().split()   
a1 = map(int,a)
A = list(a1)
A.sort(reverse=True)  # list of in integers by descending order
print(sum(A[:K]))     # I want to use K to print values in A

Output:
runtime error
  

Я не могу использовать переменную K для нарезки, которая состоит из индекса, до которого я хочу выполнить sum().

Ответ №1:

Проблема в том, что K — это строка, а не целое число. Следовательно, его нельзя использовать для нарезки списка.

Исправьте это, просто приведя строку к int 🙂

 K = int(input())           # K=3
a = input().split()   
a1 = map(int,a)
A = list(a1)
A.sort(reverse=True)  # list of in integers by descending order
print(sum(A[:K]))     # I want to use K to print values in A
  

Ответ №2:

 list_of_numbers = list(map(int, input().split()))
k = int(input())
list_of_numbers.sort(reverse=True)
sum_of_sublist = sum(list_of_numbers[:k])
  

PS

Писать подробные имена переменных — хорошая привычка.

Ответ №3:

индексы среза должны быть целыми числами или отсутствовать, или иметь метод index

K — это строка ‘3’, а не целое число.

 K = int(input())           # K=3