
Напишите программу, которая заполняет массив из N элементов случайными целыми числами в диапазоне [
A , B ] и определяет количество элементов этого массива, у которых сумма цифр равна K . Python Я попыталась сделать, но я не понимаю, что не получается, поправьте пожалуйста from random import randint a,b, N, n=map(int, input().split()) A=[randint (a,b) for i in range (N)] suma = 0 f=0 for i in range (1, N): while A[i] > 0: digit = A[i] % 10 suma = suma + digit suma==n f=f+1 print(A) print(f)

Ответы на вопрос

def sumofdig(n):
sum_ = 0
while n:
sum_ += n % 10
n //= 10
return sum_
from random import randint
a, b, N, K = map(int, input().split())
nums = [randint(a, b) for i in range(N)]
cnt = 0
for i in nums:
if sumofdig(i) == K:
cnt += 1
print(cnt)



Конечно, я могу помочь вам исправить вашу программу. Вот исправленный код:
pythonfrom random import randint
a, b, N, K = map(int, input().split())
A = [randint(a, b) for _ in range(N)]
count = 0
for num in A:
digits_sum = sum(int(digit) for digit in str(num))
if digits_sum == K:
count += 1
print(A)
print(count)
В этом исправленном коде были внесены следующие изменения:
n
было изменено наK
, чтобы соответствовать описанию задачи, гдеK
обозначает сумму цифр, а не количество элементов.Исправлена ошибка сравнения суммы цифр
suma
иK
. Вместоsuma==n
нужно использоватьsuma == K
.Добавлен цикл
for num in A
для обхода всех чисел в массивеA
. Ваш предыдущий код использовал неправильное условие цикла и пропускал первый элемент массива.Добавлено преобразование числа
num
в строкуstr(num)
, чтобы можно было получить отдельные цифры числа.Добавлено вычисление суммы цифр
digits_sum
с использованием генератора списка и функцииsum()
.
Теперь программа должна правильно определять количество элементов массива, у которых сумма цифр равна K
.


Похожие вопросы
Топ вопросов за вчера в категории Информатика







Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili