Рассказываю про решения и показываю ответы на модуль и по совместительству урок 13.4 из «Поколение Python: курс для начинающих» на языке программирования питоне.
Функция do_something() определена следующим образом:
def do_something(number):
return number * 2
Что будет выведено в результате выполнения следующего программного кода?
print(do_something(10))
20
Функция do_something() определена следующим образом:
def do_something(numbers):
result = 1
for i in numbers:
result *= i
return result
Что будет выведено в результате выполнения следующего программного кода?
print(do_something([2, 2, 2, 2]))
16
Функция get_sum() определена следующим образом:
def get_sum(x, y, z):
return x + y + z
print('Сумма равна', x + y + z)
Что будет выведено в результате выполнения следующего программного кода?
print(get_sum(1, 2, 3))
6
Конвертер километров Напишите функцию convert_to_miles(km), которая принимает в качестве аргумента расстояние в километрах и возвращает расстояние в милях. Формула для преобразования: мили = километры * 0.6214.
# Определение функции convert_to_miles()
def convert_to_miles(km):
ml = km * 0.6214 # Преобразование километров в мили
return ml # Возвращаем результат в милях
# Считывание данных
num = int(input()) # Считываем количество километров, которое нужно преобразовать в мили
# Вызов функции convert_to_miles() и вывод результата
print(convert_to_miles(num))
Количество дней Напишите функцию get_days(month), которая принимает в качестве аргумента номер месяца и возвращает количество дней в данном месяце.
# Определение функции get_days()
def get_days(month):
# Если месяц принадлежит к месяцам с 31 днем
if month in [1, 3, 5, 7, 8, 10, 12]:
return 31 # Возвращаем 31 день
# Если месяц принадлежит к месяцам с 30 днями
elif month in [4, 6, 9, 11]:
return 30 # Возвращаем 30 дней
else:
return 28 # В остальных случаях возвращаем 28 дней (февраль)
# Считывание данных
num = int(input()) # Считываем номер месяца
# Вызов функции get_days() для определения количества дней в месяце и вывод результата
print(get_days(num))
Делители 1 Напишите функцию get_factors(num), принимающую в качестве аргумента натуральное число и возвращающую список всех делителей данного числа.
# Определение функции get_factors()
def get_factors(num):
l = [] # Создаем пустой список для хранения делителей
# Проходим по всем числам от 1 до num // 2
for i in range(1, num // 2 + 1):
if num % i == 0: # Если num делится без остатка на i
l.append(i) # Добавляем i в список делителей
# Добавляем само число num в список делителей, так как любое число делится само на себя
l.append(num)
return l # Возвращаем список делителей
# Считывание данных
n = int(input()) # Считываем число, для которого нужно найти делители
# Вызов функции get_factors() для определения всех делителей и вывод результата
print(get_factors(n))
Делители 2 Напишите функцию number_of_factors(num), принимающую в качестве аргумента число и возвращающую количество делителей данного числа.
# Определение функции number_of_factors()
def number_of_factors(num):
# Изначально устанавливаем значение равное 1, так как число всегда делится само на себя
n = 1
# Проходим по всем числам от 1 до половины заданного числа
for i in range(1, num // 2 + 1):
if num % i == 0: # Если num делится без остатка на i
n += 1 # Увеличиваем счетчик делителей на 1
return n # Возвращаем количество делителей
# Считываем число, для которого нужно определить количество делителей
n = int(input())
# Вызов функции number_of_factors() для определения количества делителей и вывод результата
print(number_of_factors(n))
Найти всех Напомним, что строковый метод find(‘a’) возвращает местоположение первого вхождения символа a в строке. Проблема заключается в том, что данный метод не находит местоположение всех символов а.
Напишите функцию с именем find_all(target, symbol), которая принимает два аргумента: строку target и символ symbol и возвращает список, содержащий все местоположения этого символа в строке.
# Определение функции find_all()
def find_all(target, symbol):
n = 0 # Инициализируем переменную n для отслеживания текущего индекса
l = [] # Создаем пустой список l для хранения индексов символов
for i in target: # Проходим по каждому символу в строке target
if i == symbol: # Если текущий символ равен заданному символу
l.append(n) # Добавляем текущий индекс n в список l
n += 1 # Увеличиваем индекс n на 1
return l # Возвращаем список индексов, где найден заданный символ
# Считывание данных
s = input() # Считываем строку, в которой будем искать символ
char = input() # Считываем символ, который нужно найти в строке
# Вызов функции find_all() для поиска всех индексов заданного символа и вывод результата
print(find_all(s, char))
Merge lists 1 Напишите функцию merge(list1, list2), которая принимает в качестве аргументов два отсортированных по возрастанию списка, состоящих из целых чисел, и объединяет их в один отсортированный список.
# Определение функции merge()
def merge(list1, list2):
# Объединяем два списка в один
l = list1 + list2
# Сортируем объединенный список
l.sort()
# Возвращаем отсортированный список
return l
# Считывание данных
numbers1 = [int(c) for c in input().split()] # Считываем первый список чисел и преобразуем каждый элемент в целое число
numbers2 = [int(c) for c in input().split()] # Считываем второй список чисел и также преобразуем каждый элемент
# Вызываем функцию merge() для объединения и сортировки списков, затем выводим результат
print(merge(numbers1, numbers2))
Merge lists 2 На вход программе подается число nn, а затем nn строк, содержащих целые числа в порядке возрастания. Из данных строк формируются списки чисел. Напишите программу, которая объединяет указанные списки в один отсортированный список с помощью функции quick_merge(), а затем выводит его.
# Объявление функции quick_merge(), которая выполняет сортировку слиянием на месте для двух списков
def quick_merge(lst1, lst2):
res = [] # Результирующий список
p1, p2 = 0, 0 # Индексы текущих элементов для lst1 и lst2
# Пока есть элементы в обоих списках, сравниваем их и добавляем минимальный в res
while p1 < len(lst1) and p2 < len(lst2):
if lst1[p1] < lst2[p2]:
res.append(lst1[p1])
p1 += 1
else:
res.append(lst2[p2])
p2 += 1
# Если все элементы lst1 были добавлены, добавляем оставшиеся элементы lst2 и наоборот
if p1 == len(lst1):
res += lst2[p2:]
else:
res += lst1[p1:]
return res
res = [] # Результирующий список
# Считываем количество списков для сортировки
for _ in range(int(input())):
num = [int(c) for c in input().split()] # Считываем список чисел
res = quick_merge(res, num) # Вызываем quick_merge() для сортировки и объединения списков
# Выводим отсортированный результирующий список
print(*res)
Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы
Понравилась статья? Поделиться с друзьями:
Подписаться
5 комментариев
Новые
СтарыеПопулярные
Межтекстовые Отзывы
Посмотреть все комментарии
Legachin
1 год назад
Для последней задачи Merge lists 2, решение:
x = lambda k=int(input()): sorted([int(x) for i in range(k) for x in input().split()]) print(*x())
задача про мили и километры Failed test #1 of 4. Cannot check answer. Perhaps output format is wrong. не пойму в чем проблема решил по другому та же ошибка
Для последней задачи Merge lists 2, решение:
x = lambda k=int(input()): sorted([int(x) for i in range(k) for x in input().split()])
print(*x())
Merge lists 1
# объявление функции
def merge(list1, list2):
list_sum = sorted(list1 + list2)
return list_sum
# считываем данные
numbers1 = [int(c) for c in input().split()]
numbers2 = [int(c) for c in input().split()]
# вызываем функцию
print(merge(numbers1, numbers2))
задача про мили и километры
Failed test #1 of 4. Cannot check answer. Perhaps output format is wrong.
не пойму в чем проблема решил по другому та же ошибка
Проверил, на степике ответ принимает, может что то лишнее внесли когда перепечатывали
не понятно зачем вы убрали функцию.
return km * 0.6214 — мое решение