Controlla se una stringa è un palindromo in Python

Muhammad Maisam Abbas 30 gennaio 2023
  1. Controlla se una stringa è palindroma usando il metodo di suddivisione in liste in Python
  2. Controlla se una stringa è palindroma usando la funzione reversed() in Python
Controlla se una stringa è un palindromo in Python

Questo tutorial discute i metodi per verificare se una stringa è palindroma in Python.

Controlla se una stringa è palindroma usando il metodo di suddivisione in liste in Python

Una stringa palindroma è una parola che legge lo stesso avanti e indietro. Ad esempio, la parola madam rimane la stessa se invertiamo la sequenza delle lettere in essa; questo tipo di parola è chiamato palindromo.

Possiamo controllare le stringhe palindrome invertendo la stringa originale e confrontando ogni elemento della stringa originale con ogni elemento della stringa invertita; questo può essere fatto con l’affettatura della lista. Il seguente programma ci mostra come verificare se una stringa è un palindromo o meno con il metodo di suddivisione della lista.

word = input()
if str(word) == str(word)[::-1]:
    print("Palindrome")
else:
    print("Not Palindrome")

Produzione:

ma#am
Palindrome

Abbiamo verificato se la stringa ma#am è un palindromo o meno con il metodo di suddivisione della lista nel codice sopra. Per prima cosa abbiamo calcolato il valore inverso della parola originale con [::-1] come indice della lista. Abbiamo quindi confrontato ogni indice con l’operatore di uguaglianza ==. Se entrambe le parole originali e invertite corrispondono, stampiamo Palindrome sulla console; in caso contrario, stampiamo Not Palindrome.

Controlla se una stringa è palindroma usando la funzione reversed() in Python

La funzione reversed() prende una sequenza di elementi e restituisce un iteratore inverso per quella sequenza. Poiché una stringa è una sequenza di caratteri, possiamo anche usare la funzione reversed() al posto dell’indice [::-1] per invertire la sequenza di caratteri all’interno di una stringa. Possiamo quindi confrontare sia la stringa originale che la stringa invertita, per quanto riguarda gli elementi, per determinare se si tratta di un palindromo o meno. Il seguente frammento di programma mostra come verificare se una stringa è un palindromo o meno con la funzione reversed().

word = input()
if str(word) == "".join(reversed(word)):
    print("Palindrome")
else:
    print("Not Palindrome")

Produzione:

maisam
Not Palindrome

Abbiamo verificato se la stringa maisam è un palindromo o meno con la funzione reversed() nel programma sopra. Per prima cosa abbiamo calcolato la forma inversa della parola originale con "".join(reversed(word)). Successivamente, abbiamo confrontato sia la parola originale che quella invertita, per elemento, con l’operatore di uguaglianza ==. Se entrambe le parole originali e invertite corrispondono, stampiamo Palindrome sulla console; in caso contrario, stampiamo Not Palindrome.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Articolo correlato - Python String