Programme Palindrome en Python

⚡ Résumé intelligent

programmes palindromes dans Python Vérifier si une chaîne de caractères ou un nombre se lit de la même manière de gauche à droite et de droite à gauche. Les méthodes courantes incluent le découpage inverse, la comparaison d'indicateurs, l'inversion de caractères, la correspondance de caractères, la récursivité et les boucles while, applicables aux valeurs textuelles et numériques.

  • (I.e. Définition: Un palindrome se lit de la même façon de gauche à droite et de droite à gauche, qu'il s'agisse d'un mot ou d'un nombre.
  • ✂️ Découpage et drapeaux : Reverse la chaîne avec une boucle, ou détecter les incohérences au plus tôt avec un indicateur.
  • (I.e. Récursivité et boucles : Les appels récursifs et les boucles while inversent les nombres en utilisant le modulo et la division entière.
  • | Rendement : La méthode à deux pointeurs compare les extrémités vers l'intérieur en O(n) temps et O(1) espace.
  • 🤖 Pertinence de l'IA : La logique palindromique facilite le prétraitement en TALN, les vérifications ADN et la préparation aux entretiens d'apprentissage automatique.

Programme Palindrome en Python

Qu’est-ce que le programme Palindrome Python?

Un palindrome peut être défini comme une chaîne ou un nombre qui affiche la même valeur lorsque sa position est inversée. En un sens plus simple, il reste inchangé une fois inversé.

Example: deed, 101

Lorsque le mot inversé et le mot réel (un nombre ou une chaîne) sont comparés, ils produisent le même résultat.

Types de palindrome

In Python langue, Palindrome est de trois types, comme indiqué ci-dessous :

  • Palindrome à plusieurs mots : Il s'agit d'une combinaison de plusieurs mots où la valeur des mots originaux et inversés est la même.
  • Palindrome à un seul mot : Il s'agit d'un seul mot où la valeur des mots originaux et inversés est la même.
  • Palindrome numérique : Il s'agit d'un nombre dont les valeurs des nombres d'origine et inversés sont les mêmes. L'entrée donnée reste la même, que ce soit de l'avant ou de l'arrière.

Algorithme pour un nombre palindrome dans Python

L'algorithme suivant peut être appliqué pour vérifier le numéro palindrome :

Étape 1) Effectuer une déclaration de variable comme 'I' et lisez la variable.

Étape 2) Attribuer 'I' à la variable temporaire j. je = j

Étape 3) Effectuez la boucle avec les instructions comme indiqué ci-dessous : –

  • M = I % 10
  • L=L x 10 + M
  • je = je / 10

Étape 4) Comparez la variable temporaire avec l. L==J.

Étape 5) Imprimez le nombre comme étant un palindrome si la condition est satisfaite.

Étape 6) Si la condition n'est pas satisfaite, imprimez le numéro comme n'étant pas un palindrome.

Étape 7) Fin

L'algorithme ci-dessus s'applique aux nombres palindromes dans Python.

Méthode 1 : Numéro palindrome dans Python en utilisant le découpage vers l'arrière

Tranchage vers l'arrière Python implique généralement l'utilisation d'instructions de sous-ensemble du programme d'origine. Les instructions de sous-ensemble peuvent également utiliser des boucles. PythonLe programme palindrome de peut être découpé en tranches arrière.

Le programme python suivant utilise une boucle arrière pour déterminer si une chaîne est un palindrome.

Programme de cordes Palindrome dans Python code:

a='deed'
lena=len(a)
b=[]
for i in range(lena - 1, -1, -1):
    b.append(a[i])
rev = "".join(b)
print(a + " is: ", end="")
if a == rev:
    print("Palindrome")
else:
    print("Not Palindrome")

Sortie :

deed is: Palindrome

Code Explication:

  • Le Python le code essaie d'ajouter la chaîne vide b dans l'ordre inverse en utilisant la longueur de la chaîne principale et la Python fonction de plage.
  • La chaîne b est ensuite jointe à la chaîne vide rev à l'aide du séparateur de chaîne ".

Méthode 2 : Programme Palindrome dans Python en utilisant le drapeau

Les variables d'indicateur peuvent être définies dans Python pour identifier les palindromes. Le paramètre flag est initialisé à 0. Le programme suivant illustre l'utilisation du paramètre flag :

Python Code pour le programme Palindrome :

Pld = "deed"
m = -1
flag = 0
for char in Pld:
    if char != Pld[m]:
        flag = 1
        break
    m = m - 1
print(Pld + " is: ", end="")
if flag:
    print("Not Palindrome")
else:
    print("Palindrome")
print(flag)

Sortie :

deed is: Palindrome

0

Code Explication:

  • Le char dans Python commence par un indice 0.
  • Puisque m est initialisé à -1, la chaîne est lue du verso comme un index négatif.
  • La boucle for avec l'instruction if vérifie si chaque caractère commençant par l'index 0 présent dans la chaîne correspond à l'index inverse de la chaîne.
  • Cependant, s'il ne correspond pas, le programme initialise l'indicateur à 1 ; sinon, il l'initialiserait à 0.

Méthode 3 : Vérifiez Palindrome dans Python en inversant le caractère

La méthode char est utilisée pour inverser une chaîne dans ce programme palindrome dans PythonLa chaîne d'origine est vérifiée avec la chaîne inverse pour déterminer si la chaîne est un palindrome ou non.

Python Programme Palindrome Code:

Base = "123"
reverse = ""
for char in Base:
    reverse = char + reverse
print("Palindrome") if Base == reverse else print("Not Palindrome")
print("Original string is: " + str(Base))
print("reverse string is: " + str(reverse))
Base = "101"
reverse = ""
for char in Base:
    reverse = char + reverse
print("Palindrome") if Base == reverse else print("Not Palindrome")
print("Original string is: " + str(Base))
print("reverse string is: " + str(reverse))
Base = "deed"
reverse = ""
for char in Base:
    reverse = char + reverse
print("Palindrome") if Base == reverse else print("Not Palindrome")
print("Original string is: " + str(Base))
print("reverse string is: " + str(reverse))

Sortie :

Not Palindrome
The original string is: 123
The reverse string is: 321
Palindrome
The original string is: 101
The reverse string is: 101
Palindrome
The original string is: the deed
The reverse string is: the deed

Code Explication:

  • PythonLa fonction str permet de convertir le format de valeur numérique au format chaîne. Le programme vérifie d'abord si la valeur 123 est un palindrome ou non.
  • Il vérifie ensuite la valeur 101 et la valeur de chaîne de l'acte.
  • Le code vérifie que la valeur est un palindrome pour les formats numériques et de chaîne.

Méthode 4 : Comment enregistrer Palindrome dans Python utiliser la correspondance de caractères

Dans cette méthode palindrome, le programme vérifie si chaque caractère de la chaîne correspond à la chaîne inversée en utilisant la boucle for, la fonction range et la fonction Len.

Python code:

def PalindromeComparator(original):
    for i in range(0, len(original)):
        if original[i] != original[len(original) - i - 1]:
            return False
            return True
Base = "deed"
print("Palindrome") if PalindromeComparator(Base) else print("Not Palindrome")

Sortie :

Not Palindrome

Code Explication:

  • Une fonction définie par l'utilisateur intitulée Palindrome Comparator vérifie si la valeur est une chaîne ou non.
  • Le programme compare la chaîne originale et son inverse en utilisant les critères original[i]!= original[len(original) – i – 1].
  • Le programme ci-dessus utilise la technique de la longueur pour déterminer la longueur de la chaîne.

Méthode 5 : Palindrome dans Python utiliser la récursivité

In Python, la récursivité signifie que la fonction s'appelle à plusieurs reprises et selon un ensemble spécifique de critères. De cette façon, le problème peut être décomposé en problèmes plus petits en utilisant la même structure fonctionnelle. En utilisant la logique de programmation récursive, les chaînes palindromes peuvent également être vérifiées

Python code:

def palcomprec(number, oppo):
    if number == 0:
        return oppo
    remainder = int(number % 10)
    oppo = (oppo * 10) + remainder
    return palcomprec(int(number / 10), oppo)
Base = 12321
reverse = 0
reverse = palcomprec(Base, reverse)
print(str(Base) + " is: ", end="")
print("Palindrome") if reverse == Base else print("Not Palindrome")

Sortie :

12321 is: Palindrome

Code Explication:

  • Le programme utilise une fonction définie par l'utilisateur qui s'appelle récursivement.
  • Le nombre d'origine est décomposé et sa valeur résiduelle est ajoutée à la valeur opposée.
  • La valeur opposée est d'abord multipliée par 10 avant d'être ajoutée à la valeur restante.

Méthode 6 : Comment utiliser la boucle While pour vérifier le palindrome

Une boucle while effectue l'exécution du code de manière itérative jusqu'à ce que la condition appliquée soit vraie.

  • La méthode itérative peut être utilisée pour vérifier si la valeur entière est palindrome.
  • Le Python le programme utilise des nombres temporaires et des opérateurs modulo.

Python code:

original = 101
temporary = original
reverse = 0
while temporary > 0:
    remainder = temporary % 10
    reverse = (reverse * 10) + remainder
    temporary = temporary // 10
if original == reverse:
  print('Palindrome')
else:
  print("Not Palindrome")

Sortie :

Palindrome

Code Explication:

  • Le programme utilise une boucle while qui vérifie si le nombre temporaire est inférieur à zéro.
  • L'opérateur modulo calcule le reste du nombre d'origine.
  • Le nombre initial est divisé par 10.
  • Le paramètre inverse est calculé en multipliant par 10.
  • Le nombre résultant est ajouté au résidu.
  • Le programme ci-dessus vérifie le numéro d'origine et le numéro inversé pour le classer comme palindrome ou non.

FAQ

Comparez la valeur avec son inverse en utilisant `s == s[::-1]`, après avoir converti les nombres avec `str()`. Si les directions correspondent, il s'agit d'un palindrome.

La méthode à deux pointeurs permet d'économiser de la mémoire en temps O(n) et en espace O(1), mais l'inversion de tranche est généralement plus rapide en C.Python.

Un pointeur se trouve au début, l'autre à la fin ; ils se comparent vers l'intérieur. L'appariement des paires jusqu'à ce qu'elles se rejoignent confirme un palindrome.

Convertissez le texte en minuscules et ne conservez que les caractères alphanumériques avec isalnum(), puis comparez-le à son inverse. L'espacement et la casse n'ont plus d'importance.

Reverse une chaîne avec slice s[::-1], reversed() plus "".join(), ou une boucle d'ajout en début de chaîne, puis comparez-la à l'original.

Oui. Un caractère unique et une chaîne vide se lisent de la même manière à l'envers, donc s == s[::-1] renvoie True.

RevLa logique générale sous-tend le prétraitement du NLP, les vérifications bioinformatiques de l'ADN et l'ingénierie des caractéristiques. Des bibliothèques comme NumPy Vectoriser ces tests de symétrie pour l'apprentissage automatique.

Oui. GitHub Copilot et les assistants IA similaires génèrent des versions par découpage, à deux pointeurs, récursives ou en boucle à partir d'une invite. Il est toujours conseillé d'examiner les cas limites au préalable.

Résumez cet article avec :