Python-Programm Palindrom w/o string-Funktionen

Ich bin ein Anfänger in Python. Ich habe geschrieben Palindrom-Programme ohne Verwendung von string-Funktionen.

Frage 1: Warum der 1. Logik mir nicht die gewünschte Leistung? Korrigieren Sie mich, wenn ich falsch bin.

Frage 2: Im 2. Programm, wenn ich direkt i += 1 im if-Anweisung sollte es geben, mir das richtige Ergebnis als die for Schleife inkrementiert automatisch den Wert i. Vielmehr gibt mir die korrekte Ausgabe nur, wenn ich auch diese Aussage oder eben nicht. Was kann der Grund dafür sein?

Logik 1:

n = input("eNTER  STRING\n")
length = int(len(n))
n = str(n)

for i in range(0, int(length/2+1)):
   if n[i] != n[-i - 1]:
      break

if i < int(length/2 + 1):
   print("not")
else:
   print("yes")

Logik 2:

n = input("ENTER  STRING\n")
length = int(len(n))

for i in range(0, int(length/2 + 1)):
   if n[i] == n[-i - 1]:
      i += 1
   else:
      break

if i < (length / 2):
   print("not")
else:
   print("yes")

Vielen Dank im Voraus..

  • es wäre so viel einfacher, wenn Sie nicht schreiben monolithischen code... z.B.: return false.
  • Ich konnte nicht mit der Formatierung so machte ich es akzeptabel Aussehen
  • Binju überprüfen Sie Bitte eine Antwort als korrekte Antwort, wenn es dein problem gelöst hat.
InformationsquelleAutor Pranay Binju | 2014-12-27
Schreibe einen Kommentar