
Вопрос задан 05.10.2023 в 05:48.
Предмет Информатика.
Спрашивает Попов Глеб.
Все программы нужно написать в среде Python 1. Напишите программу, которая определяет, есть ли в
массиве хотя бы одно число, которое одновременно делится на 7 и на 5. Предложите два способа решения и сравните их. 2. Напишите программу, которая заполняет массив из 20 элементов случайными числами на отрезке [-9; 9] и находит: a) сумму положительных элементов массива; b) произведение ненулевых элементов.

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

Отвечает Горелова Екатерина.
1)
print("YES" if [x for x in [int(x) for x in input().split()] if x % 7 == 0 and x % 5 == 0] else "NO")
2)
from random import randint
from functools import reduce
a = [randint(-9, 9) for x in range(20)]
print(f'SUM OF POSITIVE: {sum([x for x in a if x > 0])}')
print(f'INTERSECTION OF NON-NULL: {reduce(lambda x, y: x * y, [x for x in a if x != 0])}')



Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.
Давайте начнем с написания программы для каждой из задач.
Задача 1: Поиск числа, которое делится и на 7, и на 5
Способ 1: Используя цикл
pythondef find_number_divisible_by_7_and_5(arr):
for num in arr:
if num % 7 == 0 and num % 5 == 0:
return True
return False
# Пример использования
array = [21, 10, 15, 8, 35]
result = find_number_divisible_by_7_and_5(array)
if result:
print("В массиве есть число, которое делится на 7 и на 5.")
else:
print("В массиве нет числа, которое делится на 7 и на 5.")
Способ 2: Используя генераторы списков
pythondef find_number_divisible_by_7_and_5(arr):
return any(num % 7 == 0 and num % 5 == 0 for num in arr)
# Пример использования
array = [21, 10, 15, 8, 35]
result = find_number_divisible_by_7_and_5(array)
if result:
print("В массиве есть число, которое делится на 7 и на 5.")
else:
print("В массиве нет числа, которое делится на 7 и на 5.")
Задача 2: Сумма положительных элементов и произведение ненулевых элементов массива
pythonimport random
def calculate_sum_of_positive_elements_and_product_of_nonzero_elements(arr):
sum_of_positives = sum(num for num in arr if num > 0)
product_of_nonzero = 1
for num in arr:
if num != 0:
product_of_nonzero *= num
return sum_of_positives, product_of_nonzero
# Генерируем массив из 20 случайных чисел на отрезке [-9; 9]
array = [random.randint(-9, 9) for _ in range(20)]
# Вычисляем сумму положительных элементов и произведение ненулевых элементов
positive_sum, nonzero_product = calculate_sum_of_positive_elements_and_product_of_nonzero_elements(array)
print("Массив:", array)
print("Сумма положительных элементов:", positive_sum)
print("Произведение ненулевых элементов:", nonzero_product)
Эти программы решают задачи, описанные вами. Сравнение двух способов в первой задаче зависит от ваших предпочтений и контекста использования. Генераторы списков могут быть более краткими и удобными, но оба способа эффективно решают задачу.


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