Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- expression = input("Enter your numerical expression: ")
- expression_split = expression.split(' ')
- # Convert numeric things to integers first.
- for item in range(len(expression_split)):
- try:
- expression_split[item] = int(expression_split[item])
- except ValueError:
- pass
- while len(expression_split) > 1:
- position = None
- sign = None
- # If / or * exist we pick the first available / or *
- for exp in range(len(expression_split)):
- if expression_split[exp] in ['/', '*']:
- position = exp
- sign = expression_split[exp]
- break
- # If no / or * exist.
- if position is None:
- position = 1
- sign = expression_split[1] # First operator (+ or -) available.
- if sign == "+":
- result = expression_split[position-1] + expression_split[position+1]
- elif sign == "-":
- result = expression_split[position-1] - expression_split[position+1]
- elif sign == "*":
- result = expression_split[position-1] * expression_split[position+1]
- elif sign == "/":
- result = expression_split[position-1] / expression_split[position+1]
- else:
- print("Error, invalid operator.")
- expression_split = expression_split[:(position-1)] + [result] + expression_split[(position+2):]
- print(expression, "=", expression_split[0])
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement