πŸ” Как Π½Π°ΠΉΡ‚ΠΈ число-ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅? Π›Π΅Π³ΠΊΠΈΠΉ способ

Как Π½Π°ΠΉΡ‚ΠΈ число-ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌ Π² Python?

Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ число-ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌ Π² Python, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ ΠΊΠΎΠ΄:


num = 121
num_str = str(num)
reversed_num_str = num_str[::-1]

if num_str == reversed_num_str:
    print("Число", num, "являСтся ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌΠΎΠΌ")
else:
    print("Число", num, "Π½Π΅ являСтся ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌΠΎΠΌ")
   

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π±Π΅Ρ€Π΅ΠΌ число, ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ Π΅Π³ΠΎ Π² строку, Π·Π°Ρ‚Π΅ΠΌ ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ строку ΠΈ сравниваСм Π΅Π΅ с исходной. Если ΠΎΠ½ΠΈ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚, Ρ‚ΠΎ число являСтся ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌΠΎΠΌ.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

Как Π½Π°ΠΉΡ‚ΠΈ число-ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌ Π² Python?

Число-ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌ - это число, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ читаСтся ΠΊΠ°ΠΊ слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ, Ρ‚Π°ΠΊ ΠΈ справа Π½Π°Π»Π΅Π²ΠΎ. НапримСр, 121 ΠΈΠ»ΠΈ 12321 ΡΠ²Π»ΡΡŽΡ‚ΡΡ числами-ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌΠ°ΠΌΠΈ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ число-ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ языка программирования Python.

ΠœΠ΅Ρ‚ΠΎΠ΄ 1: ΠŸΡ€ΡΠΌΠΎΠ΅ сравнСниС

Π‘Π°ΠΌΡ‹ΠΉ простой способ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, являСтся Π»ΠΈ число ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌΠΎΠΌ, - это прямоС сравнСниС Π΅Π³ΠΎ со своим ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:


def is_palindrome(num: int) -> bool:
    return str(num) == str(num)[::-1]
    
# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования
number = 12321
if is_palindrome(number):
    print("Число", number, "- ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌ")
else:
    print("Число", number, "- Π½Π΅ ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌ")

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ опрСдСляСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ is_palindrome, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ число ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True, Ссли это число являСтся ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌΠΎΠΌ, ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС. Ѐункция ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ число Π² строку ΠΈ сравниваСт Π΅Π³ΠΎ с ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ строки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ срСза [::-1]. Если числа-ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌΡ‹, функция Π²Π΅Ρ€Π½Π΅Ρ‚ True, ΠΈΠ½Π°Ρ‡Π΅ - False.

ΠœΠ΅Ρ‚ΠΎΠ΄ 2: ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π² строку ΠΈ сравнСниС символов

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ способ Π½Π°ΠΉΡ‚ΠΈ число-ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌ - это пСрСвСсти число Π² строку ΠΈ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ символы слСва ΠΈ справа ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ эффСктивСн, ΠΊΠΎΠ³Π΄Π° трСбуСтся Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с числами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ Π² цСлочислСнной Ρ„ΠΎΡ€ΠΌΠ΅. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:


def is_palindrome(num: int) -> bool:
    num_str = str(num)
    for i in range(len(num_str)//2):
        if num_str[i] != num_str[len(num_str)-i-1]:
            return False
    return True

# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования
number = 12321
if is_palindrome(number):
    print("Число", number, "- ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌ")
else:
    print("Число", number, "- Π½Π΅ ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌ")

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ снова опрСдСляСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ is_palindrome, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ число ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True, Ссли это число являСтся ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌΠΎΠΌ, ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС. Ѐункция ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ число Π² строку ΠΈ сравниваСт символы слСва ΠΈ справа ΠΏΠΎ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ†ΠΈΠΊΠ»Π°. Если символы Π½Π΅ Ρ€Π°Π²Π½Ρ‹, функция Π²Π΅Ρ€Π½Π΅Ρ‚ False ΠΈ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Если Ρ†ΠΈΠΊΠ» Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ Π±Π΅Π· прСрывания, Π·Π½Π°Ρ‡ΠΈΡ‚ число являСтся ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌΠΎΠΌ ΠΈ функция Π²Π΅Ρ€Π½Π΅Ρ‚ True.

ΠœΠ΅Ρ‚ΠΎΠ΄ 3: РСкурсия

МоТно Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΡŽ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ, являСтся Π»ΠΈ число ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌΠΎΠΌ. Π”Π°Π²Π°ΠΉΡ‚Π΅ рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:


def is_palindrome(num: int) -> bool:
    num_str = str(num)
    if len(num_str) <= 1:
        return True
    if num_str[0] != num_str[len(num_str)-1]:
        return False
    return is_palindrome(num_str[1:len(num_str)-1])

# ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования
number = 12321
if is_palindrome(number):
    print("Число", number, "- ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌ")
else:
    print("Число", number, "- Π½Π΅ ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌ")

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ снова опрСдСляСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ is_palindrome, которая ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ число ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True, Ссли это число являСтся ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌΠΎΠΌ, ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС. Ѐункция ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ число Π² строку ΠΈ рСкурсивно Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ саму сСбя, пСрСдавая подстроку Π±Π΅Π· ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ послСднСго символов. Если Π΄Π»ΠΈΠ½Π° строки мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½Π° 1, функция Π²Π΅Ρ€Π½Π΅Ρ‚ True. Если ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈ послСдний символы Π½Π΅ Ρ€Π°Π²Π½Ρ‹, функция Π²Π΅Ρ€Π½Π΅Ρ‚ False. Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС, функция ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΠΈΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ для подстроки, Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€ ΠΏΠΎΠΊΠ° строка Π½Π΅ станСт пустой ΠΈΠ»ΠΈ Π΄Π»ΠΈΠ½Π° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ мСньшС ΠΈΠ»ΠΈ Ρ€Π°Π²Π½Π° 1.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрСли Ρ‚Ρ€ΠΈ способа Π½Π°ΠΉΡ‚ΠΈ число-ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌ Π² языкС программирования Python. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ прямоС сравнСниС, ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ Π² строку ΠΈ сравнСниС символов ΠΈΠ»ΠΈ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΡŽ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, являСтся Π»ΠΈ число ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌΠΎΠΌ. Π’Ρ‹Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° зависит ΠΎΡ‚ Π²Π°ΡˆΠΈΡ… ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚Π΅Π½ΠΈΠΉ ΠΈ спСцифики Π·Π°Π΄Π°Ρ‡ΠΈ.

НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ эти знания Π² Π±ΡƒΠ΄ΡƒΡ‰ΠΈΡ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ… ΠΈ ΡƒΠΏΡ€Π°ΠΆΠ½ΡΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Ρ‚ΡŒ свои Π½Π°Π²Ρ‹ΠΊΠΈ программирования!

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

Π—Π°Π΄Π°Ρ‡Π° ΠŸΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌ Π½Π° Python (ΠŸΠΈΡ‚ΠΎΠ½): 10+ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ

11.7 ΠŸΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌ. "ПоколСниС Python": курс для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ…. ΠšΡƒΡ€Ρ Stepik

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ для поиска ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌΠ°

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

Как Π½Π°ΠΉΡ‚ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ символы Π² строкС Python: ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΈ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ...

πŸ” Как ΡƒΠ·Π½Π°Ρ‚ΡŒ количСство элСмСнтов Π² массивС ΠΏΠΈΡ‚ΠΎΠ½? ΠžΡ‚Π²Π΅Ρ‚ здСсь!

πŸ”Ž Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ zip Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅: основныС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹ ΠΈ использованиС 🐍

πŸ” Как Π½Π°ΠΉΡ‚ΠΈ число-ΠΏΠ°Π»ΠΈΠ½Π΄Ρ€ΠΎΠΌ Π² ΠΏΠΈΡ‚ΠΎΠ½Π΅? Π›Π΅Π³ΠΊΠΈΠΉ способ

πŸ” Как ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ большСС число Π² Python: простоС руководство 🐍

Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ число Π² мноТСство Π² Python? 🐍

Как ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ Π½Π° Python: ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ руководство с шагами ΠΈ совСтами 🐍