Задачи на списки в Python: 1. На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа могут быть одинаковыми). Нужно написать программу, которая выводит на экран количество делящихся нацело на 4 чисел в исходной последовательности и максимальное делящееся нацело на 4 число. Если делящихся нацело на 4 чисел нет, требуется на экран вывести «NO». Известно, что вводимые числа не превышают 1000.
2. На об­ра­бот­ку по­сту­па­ет по­сле­до­ва­тель­ность из четырёх целых не­от­ри­ца­тель­ных чисел. Нужно на­пи­сать про­грам­му, ко­то­рая вы­во­дит на экран ко­ли­че­ство чисел, оста­ток от де­ле­ния на 10 ко­то­рых равен 0, и сумму таких чисел. Если таких чисел нет, тре­бу­ет­ся вы­ве­сти на экран «NO».
3. На обработку поступает последовательность из четырёх неотрицательных целых чисел (некоторые числа могут быть одинаковыми). Нужно написать программу, которая выводит на экран количество всех чисел исходной последовательности, которые делятся без остатка на 10, и сумму таких чисел. Если в последовательности нет чисел, которые делятся без остатка на 10, то на экран нужно вывести «NO».

sveta7up sveta7up    2   10.12.2020 16:25    85

Ответы
suorevc suorevc  20.01.2024 18:03
Хорошо, я буду рад выступить в роли школьного учителя и помочь разобраться с задачами на списки в Python.

1. Задача: Нужно написать программу, которая выводит на экран количество делящихся нацело на 4 чисел в исходной последовательности и максимальное делящееся нацело на 4 число. Если делящихся нацело на 4 чисел нет, нужно вывести «NO». Известно, что вводимые числа не превышают 1000.

Для решения этой задачи мы можем использовать следующий подход:
- Вводим последовательность из четырех неотрицательных целых чисел с помощью функции input().
- Создаем пустой список, в котором будем хранить числа из последовательности, делящиеся нацело на 4.
- Создаем переменную для хранения максимального числа, делящегося нацело на 4, и инициализируем ее значением -1 (так как по условию все числа неотрицательные).
- Используем цикл for для обхода каждого числа из последовательности. Внутри цикла:
- Проверяем, делится ли текущее число нацело на 4 с помощью оператора %. Если да, то добавляем его в список и обновляем значение переменной с максимальным числом.
- Проверяем длину списка с числами, делящимися нацело на 4. Если она больше 0, то выводим количество таких чисел и максимальное число с помощью функции print(). Если длина списка равна 0, выводим "NO".

Вот пример кода для решения этой задачи:

```python
sequence = input("Введите последовательность из четырёх неотрицательных целых чисел через пробел: ")
numbers = sequence.split() # разделяем введенную строку на числа
divisible_by_4 = [] # список для чисел, делящихся нацело на 4
max_divisible_by_4 = -1 # переменная для максимального числа, делящегося нацело на 4

for number in numbers:
if int(number) % 4 == 0:
divisible_by_4.append(int(number))
if int(number) > max_divisible_by_4:
max_divisible_by_4 = int(number)

if len(divisible_by_4) > 0:
print("Количество чисел, делящихся нацело на 4:", len(divisible_by_4))
print("Максимальное число, делящееся нацело на 4:", max_divisible_by_4)
else:
print("NO")
```

2. Задача: Нужно написать программу, которая выводит на экран количество чисел, остаток от деления на 10 которых равен 0, и сумму таких чисел. Если таких чисел нет, нужно вывести «NO».

Для решения этой задачи мы можем использовать аналогичный подход:
- Вводим последовательность из четырех неотрицательных целых чисел с помощью функции input().
- Создаем пустой список, в котором будем хранить числа из последовательности, у которых остаток от деления на 10 равен 0.
- Создаем переменную для хранения суммы таких чисел и инициализируем ее значением 0.
- Используем цикл for для обхода каждого числа из последовательности. Внутри цикла:
- Проверяем, остаток от деления текущего числа на 10 равен 0. Если да, то добавляем его в список и увеличиваем сумму.
- Проверяем длину списка с числами, у которых остаток от деления на 10 равен 0. Если она больше 0, то выводим количество таких чисел и сумму с помощью функции print(). Если длина списка равна 0, выводим "NO".

Вот пример кода для решения этой задачи:

```python
sequence = input("Введите последовательность из четырёх неотрицательных целых чисел через пробел: ")
numbers = sequence.split() # разделяем введенную строку на числа
divisible_by_10 = [] # список для чисел, у которых остаток от деления на 10 равен 0
sum_divisible_by_10 = 0 # переменная для суммы таких чисел

for number in numbers:
if int(number) % 10 == 0:
divisible_by_10.append(int(number))
sum_divisible_by_10 += int(number)

if len(divisible_by_10) > 0:
print("Количество чисел, у которых остаток от деления на 10 равен 0:", len(divisible_by_10))
print("Сумма таких чисел:", sum_divisible_by_10)
else:
print("NO")
```

3. Задача: Нужно написать программу, которая выводит на экран количество всех чисел исходной последовательности, которые делятся без остатка на 10, и сумму таких чисел. Если в последовательности нет чисел, которые делятся без остатка на 10, нужно вывести «NO».

Для решения этой задачи мы можем использовать тот же подход:
- Вводим последовательность из четырех неотрицательных целых чисел с помощью функции input().
- Создаем пустой список, в котором будем хранить числа из последовательности, делящиеся без остатка на 10.
- Создаем переменную для хранения суммы таких чисел и инициализируем ее значением 0.
- Используем цикл for для обхода каждого числа из последовательности. Внутри цикла:
- Проверяем, делится ли текущее число без остатка на 10. Если да, то добавляем его в список и увеличиваем сумму.
- Проверяем длину списка с числами, делящимися без остатка на 10. Если она больше 0, то выводим количество таких чисел и сумму с помощью функции print(). Если длина списка равна 0, выводим "NO".

Вот пример кода для решения этой задачи:

```python
sequence = input("Введите последовательность из четырёх неотрицательных целых чисел через пробел: ")
numbers = sequence.split() # разделяем введенную строку на числа
divisible_by_10 = [] # список для чисел, делящихся без остатка на 10
sum_divisible_by_10 = 0 # переменная для суммы таких чисел

for number in numbers:
if int(number) % 10 == 0:
divisible_by_10.append(int(number))
sum_divisible_by_10 += int(number)

if len(divisible_by_10) > 0:
print("Количество чисел, делящихся без остатка на 10:", len(divisible_by_10))
print("Сумма таких чисел:", sum_divisible_by_10)
else:
print("NO")
```

Надеюсь, эти решения помогут тебе понять задачи на списки в Python. Если у тебя есть еще вопросы или что-то не ясно, не стесняйся задавать!
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика