I have reached checkpoint 2

I believe there was a mistake in test_numberwords.py
I went into the code and for the test case of 588567 it was expecting
an outcome of five hundred and ninety-eight thousand five hundred and sixty-seven.
I changed it in the code to expect
five hundred and eighty-eight thousand five hundred and sixty-seven
This commit is contained in:
Lauren Dawnkaski 2024-11-10 23:06:42 -05:00
parent 725117fbc8
commit d5054bf630
2 changed files with 34 additions and 6 deletions

View File

@ -15,19 +15,47 @@ TENS_NAMES = [
]
def int_under_1000000_to_str(number):
return "umm..."
if 1000 <= number < 1000000:
thousands = number // 1000
remainder = number % 1000
if remainder >0:
return int_under_1000_to_str(thousands) + " " + "thousand" + " " + int_under_1000_to_str(remainder)
else:
return int_under_1000_to_str(thousands)+ " " + "thousand"
elif 0 <= number < 1000:
return int_under_1000_to_str(number)
def int_under_1000_to_str(number):
return "umm..."
if 100 <= number < 1000:
hundreds = number //100
remainder = number % 100
if remainder > 0:
return DIGIT_NAMES[hundreds]+ " " + "hundred and" + " " + int_under_100_to_str(remainder)
else:
return DIGIT_NAMES[hundreds]+ " " + "hundred"
elif 0<=number<100:
return int_under_100_to_str(number)
def int_under_100_to_str(number):
return "umm..."
if 20 <= number < 100:
tens = number // 10
ones = number % 10
if ones == 0:
return TENS_NAMES[tens]
else:
return TENS_NAMES[tens] + "-" + DIGIT_NAMES[ones]
elif 0<= number <20:
return int_under_20_to_str(number)
def int_under_20_to_str(number):
return "umm..."
if 10 <= number < 20:
return TWEEN_AND_TEEN_NAMES[number - 10]
elif 0<= number < 10:
return int_under_10_to_str(number)
def int_under_10_to_str(number):
return "umm..."
if 0 <= number < 10:
return DIGIT_NAMES[number]
def divide_with_remainder(dividend, divisor):
"""Divides one number by another, using whole-number division.

View File

@ -33,7 +33,7 @@ class TestIntToStr(unittest.TestCase):
[int_under_1000000_to_str, 1001, 'one thousand one'],
[int_under_1000000_to_str, 1672, 'one thousand six hundred and seventy-two'],
[int_under_1000000_to_str, 10000, 'ten thousand'],
[int_under_1000000_to_str, 588567, 'five hundred and ninety-eight thousand five hundred and sixty-seven'],
[int_under_1000000_to_str, 588567, 'five hundred and eighty-eight thousand five hundred and sixty-seven'],
]
def test_converts_integer_to_string(self):