Obecnie pracuję nad detektorem palindromowym (anna, lol, hahah itp.) I jestem proszony o użycie pętli for-loop.For-loopy w Pythonie 3.0
Chcę, aby program przechodził przez dwa ciągi (czytaj je regularnie i wstecz w tym samym czasie podczas porównywania wartości). Jeśli wartości są takie same, to palindrom ma wartość True; jeśli nie, to jest fałszywe.
Moje pytanie brzmi: w jaki sposób można uruchomić jednocześnie dwie pętle for i porównać wartości łańcuchów?
Obecnie robi coś takiego: (Python 3.0), można w razie potrzeby pisać cały kod:
palindrom = True
text2 = ("")
for i in nytext:
for i in nytext[::-1]:
text2 = (nytext[::-1] + i)
if text2 == nytext:
palindrom = True
else:
palindrom = False
return palindrom
Dziękujemy za pomoc!
EDIT: Mogłem nie być wystarczająco jasne, opisując problem. Program robi to: Pozwala użytkownikowi wprowadzić ciąg tekstu (np. Hello, moje imię to lol), a program służy do sprawdzenia, czy jest to palindrom. Jest on podzielony na trzy funkcje (i główną funkcję).
Funkcja numer 1 powoduje skorygowanie tekstu, tak aby został zredukowany tylko do znaków i cyfr (tak, aby LOL ,,,,,, zmienił się w Lol dla łatwiejszego odczytu). Funkcja numer 2 została zaprojektowana do testowania (używając pętli for (!)), Jeśli wejście jest palindromem. Funkcja numer 3 po prostu opublikuje, czy jest to palindrom, czy nie.
mam użyć do-pętli na to i nie mogę po prostu zrobić porównanie takie jak: backwardtext = text.reverse() jeśli backwardtext == tekst: print ("To jest palindrom")
Mam nadzieję, że to wszystko wyjaśni.
wiem, że pytający pyta o 'for' pętle być używane, ale poprawa w tej sprawie byłoby użyć' all' i 'funkcje map' usunąć potrzebę' for' pętli całkowicie. – Will
@Will - Najłatwiej jest po prostu zrobić 's == s [:: - 1]'. To najwyraźniej najbardziej pyton. Jednak pętla jest określona jako część ograniczenia problemu. Ważne jest, aby OP zrozumiał, czym jest "zip" i jak działa. Być może jest to częścią tego, do czego dąży zadanie. Rzucanie "mapą" i "wszystkim" nie pomoże w tym. :) – mgilson
Jest to wyraźnie zadanie programistyczne mające na celu poznanie zapętlonych konstrukcji. Po prostu próbowałem zwrócić uwagę, że w niektórych przypadkach jawne pętle można usunąć całkowicie za pomocą mapowania/zmniejszenia stylu programowania. – Will