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

@aldrson

По вопросам рекламы : @anothertechrock
Download Telegram
#вопрос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».
• Комнаты не будут повторяться.
#вопрос119

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

Примеры:
1.is_central(" # ") ➞ True
2.is_central(" 2 ") ➞ False
3.is_central("@") ➞ True
#вопрос120

Напишите функцию, подсчитывающую количество одинаковых цифр в числе.

Примеры:
1.
digit_count(221333) ➞ 221333
2.
digit_count(136116) ➞ 312332
3.
digit_count(2) ➞ 1

Условия:
• функция принимает число (исходим из того, что числа будут целыми и положительными)
• каждая цифра заменяется на число вхождений этой цифры в число
• итоговое число, возвращаемое функцией, должно быть целым числом, а не строкой.
#вопрос121

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

Допустим, написание одной буквы занимает 0,5 с (пробелы не учитываем).

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

Разбор примера
 time_to_finish(
"And so brings my conclusion to its conclusion.",
"And so brings my conclusion to"
) ➞ 7

# "its" - это 3 символа
# "conclusion." - 11 символов, включая точку.
# 11 + 3 = 14
# 14 x 0.5 = 7
# Помните, что пробелы не учитываются.

Примеры
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