check for non-integerness before range

This commit is contained in:
Mark Pilgrim
2010-09-16 21:44:12 -04:00
parent dc45dd3265
commit 76a14e4290
4 changed files with 7 additions and 7 deletions
+2 -2
View File
@@ -28,10 +28,10 @@ from_roman_table = {}
def to_roman(n):
'''convert integer to Roman numeral'''
if not (0 < n < 5000):
raise OutOfRangeError('number out of range (must be 1..4999)')
if int(n) != n:
raise NotIntegerError('non-integers can not be converted')
if not (0 < n < 5000):
raise OutOfRangeError('number out of range (must be 1..4999)')
return to_roman_table[n]
def from_roman(s):
+2 -2
View File
@@ -38,10 +38,10 @@ roman_numeral_pattern = re.compile('''
def to_roman(n):
'''convert integer to Roman numeral'''
if not (0 < n < 5000):
raise OutOfRangeError('number out of range (must be 1..4999)')
if not isinstance(n, int):
raise NotIntegerError('non-integers can not be converted')
if not (0 < n < 5000):
raise OutOfRangeError('number out of range (must be 1..4999)')
result = ''
for numeral, integer in roman_numeral_map:
+2 -2
View File
@@ -240,10 +240,10 @@ FAILED (errors=3)</samp></pre>
def to_roman(n):
'''convert integer to Roman numeral'''
<a> if not (0 &lt; n &lt; 5000): <span class=u>&#x2461;</span></a>
raise OutOfRangeError('number out of range (must be 1..4999)')
if not isinstance(n, int):
raise NotIntegerError('non-integers can not be converted')
<a> if not (0 &lt; n &lt; 5000): <span class=u>&#x2461;</span></a>
raise OutOfRangeError('number out of range (must be 1..4999)')
result = ''
for numeral, integer in roman_numeral_map:
+1 -1
View File
@@ -2,7 +2,7 @@ import sys
try:
import html5lib
except ImportError:
sys.path.insert(0, '/Users/pilgrim/code/html5lib/python3/src/')
sys.path.insert(0, '/home/pilgrim/code/html5lib/python3/src/')
import html5lib
input_filename = sys.argv[1]