Задачка: Палиндромное число

Напишите функцию 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. Тесты проверяют правильность работы функции для различных входных данных.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *