mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-05-28 18:26:54 +00:00
2.9 KiB
2.9 KiB
id, title, challengeType, dashedName
| id | title | challengeType | dashedName |
|---|---|---|---|
| 69c6ff713a52713463aa7927 | Challenge 261: Number Words | 29 | challenge-261 |
--description--
Given an integer from 0 to 99, return its English word representation.
0returns"zero".- Numbers 1-19 have unique names (
"one","two", ...,"ten","eleven", ...,"eighteen","nineteen"). - Multiples of 10 from 20-90 have their own names (
"twenty","thirty", ...,"eighty","ninety"). - Numbers 21-99 that are not multiples of 10 are written as two words joined by a hyphen. For example
"forty-two"and"fifty-three".
--hints--
get_number_words(0) should return "zero".
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(get_number_words(0), "zero")`)
}})
get_number_words(10) should return "ten".
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(get_number_words(10), "ten")`)
}})
get_number_words(19) should return "nineteen".
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(get_number_words(19), "nineteen")`)
}})
get_number_words(30) should return "thirty".
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(get_number_words(30), "thirty")`)
}})
get_number_words(53) should return "fifty-three".
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(get_number_words(53), "fifty-three")`)
}})
get_number_words(7) should return "seven".
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(get_number_words(7), "seven")`)
}})
get_number_words(12) should return "twelve".
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(get_number_words(12), "twelve")`)
}})
get_number_words(60) should return "sixty".
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(get_number_words(60), "sixty")`)
}})
get_number_words(67) should return "sixty-seven".
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(get_number_words(67), "sixty-seven")`)
}})
get_number_words(98) should return "ninety-eight".
({test: () => { runPython(`
from unittest import TestCase
TestCase().assertEqual(get_number_words(98), "ninety-eight")`)
}})
--seed--
--seed-contents--
def get_number_words(n):
return n
--solutions--
def get_number_words(n):
ones = ["zero","one","two","three","four","five","six","seven","eight","nine",
"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen",
"seventeen","eighteen","nineteen"]
tens = ["","","twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"]
if n < 20:
return ones[n]
if n % 10 == 0:
return tens[n // 10]
return tens[n // 10] + "-" + ones[n % 10]