Ich möchte ein Programm schreiben, das den längsten Teilstring in alphabetischer Reihenfolge druckt.Finde längsten Teilstring in alphabetischer Reihenfolge
Und im Falle von Bindungen, druckt es die erste Teilkette.
Hier ist, was ich schrieb
import sys
s1 = str(sys.argv[1])
alpha = "abcdefghijklmnopqrstuvwxyz"
def longest_substring(s1):
for i in range(len(alpha)):
for k in range(len(alpha)):
if alpha[i:k] in s1:
return alpha[i:k]
print("Longest substring in alphabetical order:", longest_substring(s1))
Allerdings funktioniert es nicht, und ich weiß nicht, wie der zweite Teil zu tun.
Können Sie mir bitte helfen?
'return' sofort aus der Funktion bricht, so wird nichts anderes getestet werden. Sobald "alpha" [i: k] in s1: '' True 'ist, enden Ihre 'for'-Loops. – roganjosh
Möchten Sie nur ein Argument von der Befehlszeile akzeptieren? Möchten Sie die Dateieingabe akzeptieren? – 0TTT0
Muss der Teilstring in alphabetischer Reihenfolge ohne Lücken (abcdefg) oder nur in der Reihenfolge (afgjkmpz) sein? Muss die alphabetische Reihenfolge steigen oder nur nicht abnehmen (aaaabbbbwwxyz)? –