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

@aldrson

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

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

Примеры:
1.time_to_finish(
"And so brings my conclusion to its conclusion.",
"And so brings my conclusion to its conclus"
) ➞ 2

2.time_to_finish(
"As a result, my point is still valid.",
"As a result, my"
) ➞ 9

3.time_to_finish(
"Thank you for reading my essay.",
"T"
) ➞ 12.5
#вопрос111

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

Примеры:
1.
is_there_consecutive([1, 3, 5, 5, 3, 3, 1], 3, 2) ➞ True
2.
is_there_consecutive([1, 2, 3, 4, 5], 1, 1) ➞ True
3.
is_there_consecutive([3], 1, 0) ➞ True
4.
is_there_consecutive([2, 2, 3, 2, 2, 2, 2, 3, 4, 1, 5], 3, 2) ➞ False
5.
is_there_consecutive([5, 5, 5, 5, 5], 5, 7) ➞ False

Примечания:
• [lst] — список может быть любой длины, цифры идут в произвольном порядке
• n — цифра, которую нужно проверять
• times — сколько раз подряд должна встретиться цифра n
#вопрос112

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

Примеры:
1.neutralise("--++--", "++--++") ➞ "000000"
2.neutralise("-+-+-+", "-+-+-+") ➞ "-+-+-+"
3.neutralise("-++-", "-+-+") ➞ "-+00"

Примечания:
• плюс и плюс дают плюс
• минус и минус дают минус
• плюс и минус нейтрализуют друг друга и вместе дают 0.
#вопрос113

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

Примеры:
1.closing_in_sum(121) ➞ 13
# 11 + 2
2.closing_in_sum(1039) ➞ 22
# 19 + 3
3.closing_in_sum(22225555) ➞ 100
# 25 + 25 + 25 + 25

Примечания:
• Если передано число с нечетным количеством цифр, центральную цифру просто прибавляем к общей сумме (см. пример 1).
• Нуль тоже считаем отдельной цифрой (см. пример 2).
@pythonrabota - вакансии для Junior Python программистов.
Как называется Python-библиотека для работы с API блокчейна Ethereum?
Anonymous Quiz
33%
web3
14%
webm
32%
geth (это нода эфира)
21%
ethernet
#вопрос114

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

Примеры:
1.pluralize(["cow", "pig", "cow", "cow"]) ➞ { "cows", "pig" }
2.pluralize(["table", "table", "table"]) ➞ { "tables" }
3.pluralize(["chair", "pencil", "arm"]) ➞ { "chair", "pencil", "arm" }

Примечания:
• Передаваться будут только слова на английском языке.
• Для упрощения будем считать, что множественное число всегда образуется путем добавления окончания s.
#вопрос115

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

Примеры:
1.happiness_number(":):(") ➞ -1
2.happiness_number("(:)") ➞ 2
3.happiness_number("::::") ➞ 0

Примечания:
• веселые смайлики :) и (: оцениваются в 1 балл,
• грустные смайлики :( и ): оцениваются в -1 балл.
#вопрос116

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

Примеры:
1.fix_import("import object from module_name") ➞ "from module_name import object"
2.fix_import("import randint from random") ➞ "from random import randint"
3.fix_import("import pi from math") ➞ "from math import pi"

Примечание:
• При импорте объектов из модуля в Python обычно используется следующий синтаксис: from module_name import object
#вопрос117

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

Пример:
peel_layer_off([
["a", "b", "c", "d"],
["e", "f", "g", "h"],
["i", "j", "k", "l"],
["m", "n", "o", "p"]
]) ➞ [
["f", "g"],
["j", "k"]
]

Примечания:
• 2D-сетка всегда имеет форму прямоугольника или квадрата.
• Возвращать нужно именно список списков, за исключением ситуации, когда элементов просто нет. В таком случае нужно вернуть пустой список.
#вопрос118

Есть план этажа здания. На этом этаже 4 комнаты (1, 2, 3, 4), все выходят в общий коридор. Комнаты не сообщаются между собой: чтобы перейти из одной комнаты в любую другую, нужно пройти через коридор.
Создайте функцию, которая будет проверять, возможен ли переданный ей путь по комнатам. Коридор будет обозначаться буквой «H» (Hall).

Примеры:
1.possible_path([1, "H", 2, "H", 3, "H", 4]) ➞ True
2.possible_path(["H", 3, "H"]) ➞ True
3.possible_path([1, 2, "H", 3]) ➞ False

Примечания:
• Путь может начинаться или кончаться в коридоре.
• В качестве инпута будут передаваться только цифры 1-4 и/или буква «H».
• Комнаты не будут повторяться.