Задача об инверсии гласных
Вам даётся строка 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