Pythonist.ru - образование по питону
26.3K subscribers
85 photos
1 video
944 links
Pythonist.ru - помощь в подготовке к собеседованию на позицию Python Developer.
Реклама: @anothertechrock

Контент канала:
1. Разбор вопросов с собеседований
2. Книги
3. Задачи на логику
4. Проект Эйлера
5. Видео
6. Тесты по Python 3

@aldrson
Download Telegram
Ответ к предыдущей задаче для новичков

def averageValue(nums):
x = [i for i in nums if i % 2 == 0 and i % 3 == 0]
return 0 if len(x) == 0 else sum(x) // len(x)

#задача #coding
Задача с кодом. Выводим расширение файла

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

Решение на нашем сайте.

#задача #coding
Задача с кодом. Недостающие буквы

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

Примечания:

- Подразумевается использование английского алфавита. Всего в двух строках должно быть 26 букв.
- Все буквы будут в нижнем регистре.

Примеры

get_missing_letters("abcdefgpqrstuvwxyz") 
➞ "hijklmno"

get_missing_letters("zyxwvutsrq")
➞ "abcdefghijklmnop"

get_missing_letters("abc")
➞ "defghijklmnopqrstuvwxyz"

get_missing_letters("abcdefghijklmnopqrstuvwxyz")
➞ ""

Решение на нашем сайте.

#задача #coding
Задача для новичков

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

Примеры работы данной функции:

mostFrequentEven([0,1,2,2,4,4,1]) --> 2
mostFrequentEven([29,47,21,41,13,37,25,7]) --> -1

Свои варианты пишите в комментариях! Решение - сегодня вечером.

#задача #coding
Ответ к предыдущей задаче для новичков

def mostFrequentEven(nums):
evens = [num for num in nums if num % 2 == 0]
if not evens:
return -1
return min(evens, key=lambda x: (-evens.count(x), x))

#задача #coding
Задача с кодом. Все вхождения элемента в список

Условие:
Создайте функцию, которая вернет индексы всех вхождений элемента в списке.

Примеры:
get_indices(["a", "a", "b", "a", "b", "a"], "a") 
➞ [0, 1, 3, 5]
get_indices([1, 5, 5, 2, 7], 7)
➞ [4]
get_indices([1, 5, 5, 2, 7], 5)
➞ [1, 2]
get_indices([1, 5, 5, 2, 7], 8)
➞ []


Примечания:
- Если элемента нет в списке, то возвращаем [].
- Индекс списка начинается с 0.
- Без вложенных списков и сложных конструкций внутри списка.

Решение на нашем сайте.

#задача #coding
Задача для новичков

Напишите функцию smallestMultiple(), которая получает на вход целое положительное число n. Данная функция должна вернуть наименьшее положительное целое число, кратное как 2, так и n.

Примеры работы данной функции:

smallestMultiple(5) --> 10
smallestMultiple(6) --> 6

Свои варианты пишите в комментариях! Решение - сегодня вечером.

#задача #coding
Ответ к предыдущей задаче для новичков

def smallestMultiple(n):
return n if n % 2 == 0 else 2 * n

#задача #coding
Задача с кодом. Число, которое больше A и делится на B

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

Примечание: a всегда будет больше, чем b.

Примеры:

divisible_by_b(17, 8) ➞ 24
divisible_by_b(98, 3) ➞ 99
divisible_by_b(14, 11) ➞ 22

Решение на нашем сайте.

#задача #coding
Задача для новичков

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

Если таких букв несколько, то надо вывести ту, которая больше в лексикографическом смысле (b > a например). Если такой буквы нет, то следует вывести пустую строку.

Примеры работы данной функции:

findGreatestLetter("arRAzFif") --> 'R'
findGreatestLetter("AbCdEfGhIjK") --> ''

Свои варианты пишите в комментариях! Решение - сегодня вечером.

#задача #coding
Ответ к предыдущей задаче для новичков

def findGreatestLetter(s):
return max([letter.upper() for letter in set(s) if letter.islower() and letter.upper() in s], default="")

#задача #coding
Задача с кодом. Множитель списков

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

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

Примеры:

multiply([4, 5]) 
➞ [[4, 4], [5, 5]]

multiply(["*", "%", "$"])
➞ [["*", "*", "*"], ["%", "%", "%"], ["$", "$", "$"]]

multiply(["A", "B", "C", "D", "E"])
➞ [["A", "A", "A", "A", "A"], ["B", "B", "B", "B", "B"], ["C", "C", "C", "C", "C"], ["D", "D", "D", "D", "D"], ["E", "E", "E", "E", "E"]]

Решение на нашем сайте.

#задача #coding
Задача с кодом. Пишем функцию для «тупого добавления»

Условие: Создайте функцию, которая принимает два параметра. Если оба параметра — строки, то сложите их математически, если оба — integer, тогда сконкатенируйте их. Если параметры разного типа — верните None.

Примеры:
stupid_addition(1, 2) ➞ "12" 
stupid_addition("1", "2") ➞ 3
stupid_addition("1", 2) ➞ None

Решение на нашем сайте.

#задача #coding