Ich habe eine Zeichenfolge wie '.... (((... ((') für die ich eine andere Zeichenfolge generieren muss 'ss (4) h5 (3) ss (3), h2 (2) ss (3) 'Zeichenzählung der Sequenzen generieren
'. 'entspricht 'ss' und die Anzahl der kontinuierlichen'. 'ist in der Halterung.
'(' entspricht' h5 'und die Anzahl der Continuos' ('ist in der Klammer.
Derzeit kann ich den Ausgang' ss (4) h5 (3) ss (3) 'und meine Code ignoriert die letzten zwei Zeichenfolgen. Dies ist, was ich bisher getan
def main():
stringInput = raw_input("Enter the string:")
ssCount = 0
h5Count = 0
finalString = ""
ssString = ""
h5String = ""
ssCont = True
h5Cont = True
for i in range(0, len(stringInput), 1):
if stringInput[i] == ".":
h5Cont = False
if ssCont:
ssCount = ssCount + 1
ssString = "ss(" + str(ssCount) + ")"
ssCont = True
else:
finalString = finalString + ssString
ssCont = True
ssCount = 1
elif stringInput[i] == "(":
ssCont = False
if h5Cont:
h5Count = h5Count + 1
h5String = "h5(" + str(h5Count) + ")"
h5Cont = True
else:
finalString = finalString + h5String
h5Cont = True
h5Count = 1
print finalString
main()
Wie Sie den Code ändern, um die gewünschte Ausgabe zu erhalten?
Guter Aufwand - kann ich fragen, ob Sie mit stecken Das Problem auf diese Weise angehen, weil es eine Art von Aufgabe ist oder sind Sie offen für andere Pythonic-Optionen? –
@ JonClements Ich bin offen für alle Pythonic Optionen. Ich möchte nur die gewünschte Ausgabe erhalten. – coderSree