diff --git a/lexer.py b/lexer.py index ac6b8ca..0f7be9c 100644 --- a/lexer.py +++ b/lexer.py @@ -74,7 +74,7 @@ class Lexer(): elif self.current_char == '-': self.advance() - if self.current_char.isdigit(): + if self.current_char is not None and self.current_char.isdigit(): return Token(NUMBER, -self.number()) return Token(MINUS, operator.sub) diff --git a/rpncalc.py b/rpncalc.py index 347223d..933468b 100755 --- a/rpncalc.py +++ b/rpncalc.py @@ -13,8 +13,11 @@ from constants import DEC def print_stack(interpreter, stack): for item in stack: - if interpreter.mode == DEC and item.is_integer(): - print(int(item)) + if interpreter.mode == DEC: + if item.is_integer(): + print(int(item)) + else: + print(round(float(item), 4)) else: print(interpreter.mode_func(item))