Python вопросы на собеседовании с ответами
7.49K subscribers
4 photos
302 links
Подготовка к собеседованию на Junior Python Developer. В этом канале никакой воды, только вопросы с собеседований и ответы на них.

@aldrson

По вопросам рекламы : @anothertechrock
Download Telegram
#вопрос261

Напишите функцию, которая будет принимать отсортированный список чисел и возвращать медиану. Если число дробное, его нужно округлить до десятых.

Примеры:

median([1, 2, 4, 5, 6, 8, 8, 8, 10]) ➞ 6
median([2, 2, 6, 8, 8, 10, 10]) ➞ 8
median([1, 2, 2, 4, 7, 8, 9, 10]) ➞ 5.5
#вопрос262

Вы работаете на фабрике. Ваша задача — забирать товары с конвейера и паковать их в коробки. Каждая коробка выдерживает максимум 10 кг.

Напишите функцию, которая будет принимать список весов отдельных товаров (в кг) и возвращать количество коробок, в которые можно упаковать все товары с этими весами.

В списке всегда будет как минимум один элемент. Все веса будут меньше или равны 10 кг. Упаковываться товары должны в том порядке, в котором стоят в списке.

Примеры:

boxes([2, 1, 2, 5, 4, 3, 6, 1, 1, 9, 3, 2]) ➞ 5

# Box 1 = [2, 1, 2, 5] (10kg)
# Box 2 = [4, 3] (7kg)
# Box 3 = [6, 1, 1] (8kg)
# Box 4 = [9] (9kg)
# Box 5 = [3, 2] (5kg)
👍3
#вопрос263

Напишите функцию, которая будет принимать строку (на английском языке) и возвращать сумму значений гласных букв. Каждой гласной букве соответствует какое-то число: A = 4, E = 3, I = 1, O = 0, U = 0.

Регистр букв роли не играет.

Примеры:

sum_of_vowels("Let\'s test this function.") ➞ 8
sum_of_vowels("Do I get the correct output?") ➞ 10
sum_of_vowels("I love edabit!") ➞ 12
#вопрос264

Напишите функцию, которая будет принимать координаты двух точек на плоскости и возвращать длину отрезка, соединяющего эти точки.

Порядок передаваемых чисел — X, Y. Результат нужно округлить до сотых.

Примеры:

line_length([15, 7], [22, 11]) ➞ 8.06
line_length([0, 0], [0, 0]) ➞ 0
line_length([0, 0], [1, 1]) ➞ 1.41
1
#вопрос265

Напишите функцию, которая будет принимать словарь. В этом словаре ключами будут названия ценных вещей, а значениями — их стоимость. Функция должна возвращать название самого ценного предмета.

В словаре будет только один самый ценный предмет. Словарь не будет пустым.

Примеры:

most_expensive_item({
"piano": 2000,
}) ➞ "piano"
most_expensive_item({
"tv": 30,
"skate": 20,
}) ➞ "tv"
most_expensive_item({
"tv": 30,
"skate": 20,
"stereo": 50,
}) ➞ "stereo"
#вопрос266

Напишите функцию, основываясь на вводе и выводе в примерах. Вводом будет строка.

Примеры:

secret("div*2") ➞ "<div></div><div></div>"
secret("p*1") ➞ "<p></p>"
secret("li*3") ➞ "<li></li><li></li><li></li>"
#вопрос267

Сиракузская последовательность генерируется следующим образом. Берем любое натуральное число n. Если оно четное, то делим его на 2, а если нечетное, то умножаем на 3 и прибавляем 1 (получаем 3n + 1). Над полученным числом выполняем те же самые действия, и так далее.

Напишите функцию, которая будет принимать в качестве аргумента число и возвращать кортеж из двух элементов: количества шагов сиракузской последовательности для переданного числа и наибольшее число в этой последовательности.

Примечание: если найдете начальное положительное число, сиракузская последовательность для которого не закончится единицей, — впишете свое имя в историю математики и получите денежную премию.

Примеры:

collatz(2) ➞ (2, 2)
# seq = [2, 1]
collatz(3) ➞ (8, 16)
# seq = [3, 10, 5, 16, 8, 4, 2, 1]
collatz(7) ➞ (17, 52)
# seq = [7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1]
collatz(8) ➞ (4, 8)
# seq = [8, 4, 2, 1]
1
#вопрос268

Ваш дом ограбили, но вас интересует только то, на месте ли ваша собачка.

Напишите функцию, которая будет принимать словарь и строку — кличку собаки (в нижнем регистре). Ключами словаря будут названия пропавших вещей (и кличка собаки, если она пропала), а значениями — их стоимость.

Если собака, предположим, Timmy, есть в словаре (т. е. собака украдена), функция должна вернуть строку «Timmy is gone…». Если собаки в словаре нет, возвращается строка «Timmy is here!».

Обратите внимание, что в возвращаемой строке кличка собаки должна писаться с заглавной буквы.

Примеры:

items = {
"tv": 30,
"timmy": 20,
"stereo": 50,
} ➞ "Timmy is gone..."
items = {
"tv": 30,
"stereo": 50,
} ➞ "Timmy is here!"
items = { } ➞ "Timmy is here!"
1
#вопрос269

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

Напишите функцию, которая будет принимать количество колес, корпусов и человечков и возвращать количество машинок, которые можно собрать из этих деталей.

Примеры:

cars(2, 48, 76) ➞ 0
# 2 колеса, 48 корпусов, 76 человечков
cars(43, 15, 87) ➞ 10
cars(88, 37, 17) ➞ 8
#вопрос270

Напишите функцию, которая будет принимать список названий фруктов, делить эти слова пополам и сортировать кусочки в алфавитном порядке. Функция должна возвращать строку, образованную из отсортированных «кусочков фруктов».

Примеры:

fruit_salad(["apple", "pear", "grapes"])
➞ "apargrapepesple"

# Кусочки: ["ap", "ple", "pe", "ar", "gra", "pes"]
# Отсортированные кусочки: ["ap", "ar", "gra", "pe", "pes", "ple"]
# Итоговая строка: "apargrapepesple"

fruit_salad(["apple", "pear", "grapes"])
➞ "apargrapepesple"

fruit_salad(["raspberries", "mango"])
➞ "erriesmangoraspb"

fruit_salad(["banana"])
➞ "anaban"


Примечания:


✔️ Если название фрукта имеет нечетное число букв, правая часть должна быть больше левой. Например, «apple» делится на «ap» и «ple».
✔️ Все названия фруктов будут в нижнем регистре.
Please open Telegram to view this post
VIEW IN TELEGRAM