Рассказываю про решения и показываю ответы на модуль и по совместительству урок 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.Примечание. Следующий программный код:
print(convert_to_miles(1))
print(convert_to_miles(5))
print(convert_to_miles(10))
должен выводить:0.6214
3.107
6.214
Тестовые данные 🟢
# объявление функции
convert_to_miles = lambda km: km * 0.6214
# считываем данные
num = int(input())
# вызываем функцию
print(convert_to_miles(num))
Количество дней
Напишите функцию get_days(month), которая принимает в качестве аргумента номер месяца и возвращает количество дней в данном месяце.Примечание 1. Гарантируется, что передаваемый аргумент находится в диапазоне от 1 до 12.
Примечание 2. Считайте, что год является невисокосным.
Примечание 3. Следующий программный код:
print(get_days(1))
print(get_days(2))
print(get_days(9))
должен выводить:31
28
30
def get_days(month):
m = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]
return m[month - 1]
num = int(input())
print(get_days(num))
Делители 1
Напишите функцию get_factors(num), принимающую в качестве аргумента натуральное число и возвращающую список всех делителей данного числа.Примечание. Следующий программный код:
print(get_factors(1))
print(get_factors(5))
print(get_factors(10))
должен выводить:[1]
[1, 5]
[1, 2, 5, 10]
def get_factors(num):
return [n for n in range(1, num + 1) if num % n == 0]
n = int(input())
print(get_factors(n))
Делители 2
Напишите функцию number_of_factors(num), принимающую в качестве аргумента число и возвращающую количество делителей данного числа.Примечание 1. Используйте уже реализованную функцию get_factors(num) из предыдущей задачи.
Примечание 2. Следующий программный код:
print(number_of_factors(1))
print(number_of_factors(5))
print(number_of_factors(10))
должен выводить:1
2
4
# объявление функции
def number_of_factors(num):
return len([i for i in range(1, num + 1) if num % i == 0])
# считываем данные
n = int(input())
# вызываем функцию
print(number_of_factors(n))
Найти всех
Напомним, что строковый метод find(‘a’) возвращает местоположение первого вхождения символа a в строке. Проблема заключается в том, что данный метод не находит местоположение всех символов а.Напишите функцию с именем find_all(target, symbol), которая принимает два аргумента: строку target и символ symbol и возвращает список, содержащий все местоположения этого символа в строке.
Примечание 1. Если указанный символ не встречается в строке, то следует вернуть пустой список.
Примечание 2. Следующий программный код:
print(find_all(‘abcdabcaaa’, ‘a’))
print(find_all(‘abcadbcaaa’, ‘e’))
print(find_all(‘abcadbcaaa’, ‘d’))
должен выводить:[0, 4, 7, 8, 9]
[]
[4]
def find_all(target, symbol):
return [x for x in range(len(target)) if target[x] == symbol]
# считываем данные
s = input()
char = input()
# вызываем функцию
print(find_all(s, char))
Merge lists 1
Напишите функцию merge(list1, list2), которая принимает в качестве аргументов два отсортированных по возрастанию списка, состоящих из целых чисел, и объединяет их в один отсортированный список.Примечание 1. Списки list1 и list2 могут иметь разную длину.
Примечание 2. Можно использовать списочный метод sort(), а можно обойтись и без него 😎.
Примечание 3. Следующий программный код:
print(merge([1, 2, 3], [5, 6, 7, 8]))
print(merge([1, 7, 10, 16], [5, 6, 13, 20]))
должен выводить:[1, 2, 3, 5, 6, 7, 8]
[1, 5, 6, 7, 10, 13, 16, 20]
def merge(list1, list2):
return sorted(list1 + list2)
numbers1 = [int(c) for c in input().split()]
numbers2 = [int(c) for c in input().split()]
print(merge(numbers1, numbers2))
Merge lists 2
На вход программе подается число nn, а затем nn строк, содержащих целые числа в порядке возрастания. Из данных строк формируются списки чисел. Напишите программу, которая объединяет указанные списки в один отсортированный список с помощью функции quick_merge(), а затем выводит его.Формат входных данных
На вход программе подается натуральное число nn, а затем nn строк, содержащих целые числа в порядке возрастания, разделенные символом пробела.Формат выходных данных
Программа должна вывести текст в соответствии с условием задачи.
n=int(input())
def quick_merge(n):
return sorted([int(i) for i in range(n) for i in input().split()])
print(*quick_merge(n))
Для последней задачи 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 — мое решение