Ich versuche, eine Funktion zu erstellen, die die Enden einer Zeichenfolge in Python untersucht und eine Ganzzahl zurückgibt, wenn sie den Bedingungen entspricht, die ich definiert habe, jedoch habe ich ein Problem mit den Zahlen überlappend gibt es eine Möglichkeit für mich zu erhalten Um dies einfach mit nur eingebauten String-Funktionen und ohne Import? So sollte zum Beispiel die Saite "AAZZ" zu mir zwei zurückkommen, aber stattdessen vier zurückgeben. Die Bedingungen sind A stimmt mit Z überein, und Y stimmt mit C überein. Die Funktion sucht nach passenden Paaren, bis sie auf ein Paar trifft, das nicht übereinstimmt, wo es stoppt und den Wert zurückgibt, den es für die Zählung hat. Hier ist das, was ich bisher:Wie sehe ich speziell die Enden einer Zeichenfolge in Python?
def matching(str):
i = 0
j = -1
count = 0
while i < len(str):
if str[i] == 'A' and str[j] == 'Z':
i += 1
j -= 1
count += 1
elif str[i] == 'Z' and str[j] == 'A':
i += 1
j -= 1
count += 1
elif str[i] == 'Y' and str[j] == 'C':
i += 1
j -= 1
count += 1
elif str[i] == 'C' and str[j] == 'Y':
i += 1
j -= 1
count += 1
else:
count = 0
return count
Sie haben nicht gesagt, welche Regeln Sie implementieren möchten. Warum kehrt AAZZ zurück? – Blorgbeard
Auch ich bin mir ziemlich sicher, wenn Sie die "sonst" Bedingung treffen, werden Sie * Schleife für immer * –
ich geschafft, sonst zu beheben, um zurückzuzählen, sollte das in Ordnung sein danke – KMAN