Напишите функцию is_palindrome()
, которая принимает на вход число и проверяет, является ли оно палиндромом. Палиндромом называется число, которое одинаково читается слева направо и справа налево.
Напишите также тесты с использованием pytest
, чтобы проверить правильность работы функции на разных входных данных.
Пишите ваши варианты в комментариях.
Подпишитесь на наш ТЕЛЕГРАМ КАНАЛ ПО АВТОМАТИЗАЦИИ ТЕСТИРОВАНИЯ
# is_palindrome.py def is_palindrome(number): number_str = str(number) return number_str == number_str[::-1] # test_is_palindrome.py import pytest from palindrome import is_palindrome def test_positive_palindrome(): assert is_palindrome(121) == True assert is_palindrome(1221) == True def test_negative_palindrome(): assert is_palindrome(123) == False assert is_palindrome(12321) == False def test_single_digit(): assert is_palindrome(9) == True def test_negative_number(): assert is_palindrome(-121) == False def test_large_palindrome(): assert is_palindrome(12345678987654321) == True def test_empty_input(): with pytest.raises(ValueError): is_palindrome('') def test_string_input(): with pytest.raises(ValueError): is_palindrome('hello') def test_float_input(): with pytest.raises(ValueError): is_palindrome(12.21)
В этом примере функция is_palindrom()
принимает число, преобразует его в строку и далее сравнивает эту строку с этой же строкой, но записанной в обратном порядке. Если они равны, возвращается True
, в противном случае False
. Тесты проверяют правильность работы функции для различных входных данных.