Also habe ich mich hier umgesehen und den Code für ein funktionierendes Palindrom gefunden

def isPalindrome():
    string = input('Enter a string: ')
    string1 = string[::-1]
    if string[0] == string[(len(string)-1)] and string[1:(len(string)-2)] == string1[1:(len(string)-2)]:
        print('It is a palindrome')
    else:
        print('It is not a palindrome')

isPalindrome()

Also habe ich die Eingabe bereits in raw_input geändert. Und es funktioniert.

Aber in den Kommentaren gab es einen einfacheren Code:

def isPalindrome():
    string1 = input('Enter a string: ')
    string2 = string[::-1]
    if string1 == string2:
        return 'It is a palindrome'
    return 'It is not a palindrome'

isPalindrome()

Ich habe das zurückgelesen:

Traceback (most recent call last):
  File "C:\Python27\idk1.py", line 8, in <module>
    isPalindrome()
  File "C:\Python27\idk1.py", line 2, in isPalindrome
    string1 = input('Enter a string: ')
  File "<string>", line 1, in <module>
NameError: name 'racecar' is not defined

Also habe ich es in raw_input geändert und ich würde überhaupt nicht arbeiten. Ich bin gespannt, warum das so ist.

0
user3018867 2 Dez. 2013 im 07:06

3 Antworten

Beste Antwort

Sie haben ein Problem mit dem Kopieren und Einfügen, mein Freund. Sie haben die Quelle kopiert, die Variablennamen geändert, aber vergessen, die Verwendung der Variablen im gesamten Programm zu überprüfen:

def isPalindrome():
  string1 = input('Enter a string: ')
  string2 = string1[::-1] #notice it's string1, not string.
  if string1 == string2:
    [code]
5
rdodev 2 Dez. 2013 im 03:13

Dieser Code funktioniert für mich ... Entschuldigung für den vorherigen Beitrag ...

def isPalindrome():
string1 = raw_input('Enter a string: ')
string2 = string1[::-1]
if string1 == string2:
    return 'It is a palindrome'
return 'It is not a palindrome'

print isPalindrome()

Ausgabe:

Enter a string: madam
It is a palindrome
0
Sravan K Ghantasala 2 Dez. 2013 im 03:15
def isPalindrome():
    string1 = raw_input('Enter a string: ')
    string2 = string1[::-1]
    if string1 == string2:
        return 'It is a palindrome'
    return 'It is not a palindrome'

In Zeile 3 stand string anstelle von string1.

0
Hardmath123 2 Dez. 2013 im 03:15