Palindromerkennung in Python

Beginner

This tutorial is from open-source community. Access the source code

Einführung

Ein Palindrom ist ein Wort, eine Phrase, eine Zahl oder eine andere Zeichenfolge, die sowohl von vorne nach hinten als auch von hinten nach vorne gelesen gleich ist. Beispielsweise ist "racecar" ein Palindrom, da das Wort, wenn man es umkehrt, immer noch "racecar" schreibt. In dieser Herausforderung werden Sie eine Funktion schreiben, die überprüft, ob eine gegebene Zeichenfolge ein Palindrom ist.

Palindrom

Schreiben Sie eine Funktion palindrome(s), die einen String s als einzigen Parameter nimmt und True zurückgibt, wenn s ein Palindrom ist, und False sonst. Ihre Funktion sollte die Groß-/Kleinschreibung und nicht-alphanumerische Zeichen beim Überprüfen auf Palindrome ignorieren.

Um dieses Problem zu lösen, können Sie die folgenden Schritte ausführen:

  1. Verwenden Sie str.lower(), um den String in Kleinbuchstaben umzuwandeln.
  2. Verwenden Sie re.sub(), um alle nicht-alphanumerischen Zeichen aus dem String zu entfernen.
  3. Vergleichen Sie den resultierenden String mit seiner Umkehrung mithilfe der Slicenotation.
from re import sub

def palindrome(s):
  s = sub('[\W_]', '', s.lower())
  return s == s[::-1]
palindrome('taco cat') ## True

Zusammenfassung

In dieser Herausforderung haben Sie gelernt, wie Sie überprüfen, ob ein gegebener String ein Palindrom ist. Sie haben str.lower() und re.sub() verwendet, um den String in Kleinbuchstaben umzuwandeln und nicht-alphanumerische Zeichen zu entfernen, und haben dann den resultierenden String mit seiner Umkehrung mithilfe der Slicenotation verglichen.