From fece98a7486e49552877de3f2c7a2be6049afbe6 Mon Sep 17 00:00:00 2001 From: Pavle Portic Date: Sun, 19 May 2019 00:31:12 +0200 Subject: [PATCH] Fix subtract operator --- lexer.py | 2 +- rpncalc.py | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) 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))