#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