Вопрос о питоне выведите количество элементов, которые делятся на

Мой код:-

list_1 = [i for i in range(1, 51)]
a=int(input())
list_1.remove(a)
count=0
for i in list_1:
    if(i%a==0):
      count=count+1
      print(count)

но выход приходит именно так, когда вход 12 тогда выход приходит

1
2
3

но мне нужен выход 3 только так, как это сделать, пожалуйста, помогите

3 ответа

Ты можешь использовать sum,

sum(x % a == 0 for x in list_1)

поскольку True == 1 а также False == 0, это сумма к тому, сколько раз предикат верен.

Прервите оператор if и используйте конечное условие iei=50, например:

    l=list(range(1,51))
    a=int(input())
    count=-1
    for i in l:
        if(i%a==0):
            count=count+1
    print(count)
print(len([i for i in list_1 if i%a == 0]))

это создает список с делимыми числами и получает длину списка. Я также укажу, что len() является функцией временной сложности O(1), то есть происходит только один цикл - из-за понимания списка - и палатки для понимания списка должны быть довольно быстрыми:)

Другие вопросы по тегам