Zum Beispiel, ich brauche listBuilder('24+3-65*2')
zurückzukehren ['24', '+', '3', '-', '65', '*', '2']
String mit ganzen Zahlen zur Liste gruppiert
Wir sind nicht benutzerdefinierte importierte Funktionen zu nutzen. Ich muss diese Arbeit ohne sie machen. Dies ist, was ich bisher ...
def listBuilder(expr):
operators = ['+', '-', '*', '/', '^']
result = []
temp = []
for i in range(len(expr)):
if expr[i] in operators:
result.append(expr[i])
elif isNumber(expr[i]): #isNumber() returns true if the string can convert to float
temp += expr[i]
if expr[i+1] in operators:
tempTwo = ''.join(temp)
result.append(tempTwo)
temp = []
tempTwo = []
elif expr[i+1] == None:
break
else:
continue
return result
An diesem Punkt bin ich immer einen Fehler, Stringindex für die Linie außerhalb des Bereichs einschließlich expr[i+1]
. Hilfe wäre sehr willkommen. Ich bin seit Stunden darauf festgefahren.
Vielleicht duplizierte Frage https://stackoverflow.com/questions/47616114/how-to-loop-over-the-elementary-arithmetic-symbols – dkato
Wie werden Sie mit negativen Zahlen zu tun? – RoadRunner