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

@aldrson

По вопросам рекламы : @anothertechrock
Download Telegram
#вопрос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
#вопрос122

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

Разбор примера
 three_letter_collection("python") ➞ ["hon", "pyt", "tho", "yth"]
# 1-я группа: "hon"
# 2-я группа: "pyt"
# 3-я группа: "tho"
# 4-я группа: "yth"
# Не забудьте отсортировать список!

Примеры
three_letter_collection("slap") ➞ ["lap", "sla"]
three_letter_collection("click") ➞ ["cli", "ick", "lic"]
three_letter_collection("cat") ➞ ["cat"]
three_letter_collection("hi") ➞ []
#вопрос123

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

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

Разбор примера
 win_round([2, 5, 2, 6, 9], [3, 7, 3, 1, 2]) ➞ True
# Из ваших цифр можно составить число 96
# Ваш соперник может составить число 73
# В этом раунде побеждаете вы, потому что 96 > 73

Примеры
 win_round([2, 5, 2, 6, 9], [3, 7, 3, 1, 2]) ➞ True
win_round([1, 2, 3, 4, 5], [9, 8, 7, 6, 5]) ➞ False
win_round([4, 3, 4, 4, 5], [3, 2, 5, 4, 1]) ➞ False
@pythonknigi - книги по Python 2017+ года. Скачивать можно в 2 клика.
#вопрос124

Распаковка файлов из архивов zip или tar.gz с помощью Python. Каков алгоритм действий?
#вопрос125

Как используются списковые методы append() и extend() в Python?