Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- input = "0043-00334+5000"
- digits={"1","2","3","4","5","6","7","8","9","0"}
- operators={"+", "-"}
- def parse(input):
- currentInt = ""
- tokens = []
- for i in range(0, len(input)):
- char = input[i]
- if char in digits:
- currentInt += char
- if char in operators:
- tokens.append(currentInt)
- tokens.append(char)
- currentInt = ""
- if(i == len(input)-1): #take care of the last digits since there's no operator after it
- tokens.append(currentInt)
- return tokens
- def popFirst(results):
- token = results[0]
- del results[0]
- return token
- def execute(results):
- total = int(popFirst(results))
- while(len(results) > 0):
- operator = popFirst(results)
- nextInt = int(popFirst(results))
- if operator == "+":
- total += nextInt
- if operator == "-":
- total -= nextInt
- return total
- print(input)
- result = parse(input)
- print(result)
- print(execute(result))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement