Вопрос задан 16.06.2023 в 02:44. Предмет Информатика. Спрашивает Сергиевич Валерия.

Напишите программу, которая заполняет массив из 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)
0 0
Перейти к ответам

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Галас Діма.

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)

0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Конечно, я могу помочь вам исправить вашу программу. Вот исправленный код:

python
from 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)

В этом исправленном коде были внесены следующие изменения:

  1. n было изменено на K, чтобы соответствовать описанию задачи, где K обозначает сумму цифр, а не количество элементов.

  2. Исправлена ошибка сравнения суммы цифр suma и K. Вместо suma==n нужно использовать suma == K.

  3. Добавлен цикл for num in A для обхода всех чисел в массиве A. Ваш предыдущий код использовал неправильное условие цикла и пропускал первый элемент массива.

  4. Добавлено преобразование числа num в строку str(num), чтобы можно было получить отдельные цифры числа.

  5. Добавлено вычисление суммы цифр digits_sum с использованием генератора списка и функции sum().

Теперь программа должна правильно определять количество элементов массива, у которых сумма цифр равна K.

0 0

Похожие вопросы

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

Последние заданные вопросы в категории Информатика

Задать вопрос