Задача об инверсии гласных
Вам даётся строка s. Напишите функцию, которая инвертирует порядок гласных:
#задача
@zen_of_python
Вам даётся строка s. Напишите функцию, которая инвертирует порядок гласных:
>>> s = 'погода'
>>> invert_vowels(s)
... пагодо
#задача
@zen_of_python
👨💻2👍1🍌1
Поздравляем победителей
Задачу об идеальном квадрате верно решили:
— @QuantumaStelata;
— @nxiqns;
— @WhonixMan;
— @GeorKu;
— @patriarch_chesslovo;
— @maslyaev.
Кратчайшие верные решения предложили @QuantumaStelata:
@nxiqns:
и @WhonixMan:
Отдельно выделим решение @maslyaev, учитывающее случай очень больших чисел:
#задача
@zen_of_python
Задачу об идеальном квадрате верно решили:
— @QuantumaStelata;
— @nxiqns;
— @WhonixMan;
— @GeorKu;
— @patriarch_chesslovo;
— @maslyaev.
Кратчайшие верные решения предложили @QuantumaStelata:
x = lambda s: (s**(1/2)).is_integer()
@nxiqns:
def check_square_perfection(num):
return (num**0.5).is_integer()
и @WhonixMan:
def check_square_perfection(num):
return int(num**0.5) == num**0.5
Отдельно выделим решение @maslyaev, учитывающее случай очень больших чисел:
def check_square_perfection(area: int | float) -> bool:
if area == 0 or area == 1: # На 0 и 1 ломается вавилонский метод
return True
if area < 4: # Отрицательная area даст False
return False
if area % 1 != 0: # Нецелая area даст False
return False
int_area = int(area)
sqrt = int_area // 2
while True:
next_sqrt = (sqrt + int_area//sqrt)//2
if next_sqrt == sqrt:
break
sqrt = next_sqrt
return sqrt * sqrt == int_area
#задача
@zen_of_python
👍8❤3🍌1
Задача о подстроке
Получаем две строки
Подстрока формируется из исходной строки путём удаления некоторых символов (может быть, ни одного) без нарушения положения остальных.
Ограничения:
В качестве теста:
#задача
@zen_of_python
Получаем две строки
s и t . Напишите функцию проверки: является ли s подстрокой t. Подстрока формируется из исходной строки путём удаления некоторых символов (может быть, ни одного) без нарушения положения остальных.
"ace" является подстрокой "abcde", а "aec" — нет.Ограничения:
0 <= len(s) <= 100
0 <= len(t) <= 10^4
s и t состоят только из строчных английских букв.В качестве теста:
s = "abc"
t = "ahbgdc"
>>> is_substring(s, t)
... true
#задача
@zen_of_python
👍2❤1🍌1