generated from mwc/problemset_numberwords
Checkpoint 1 Plan
I feel like once I decided to look at each digit place (ones, tens, hundreds, etc., this plan become more clear to me. As I got to the later numbers, it seemed to rely heavily on the first parts, but I am eager to start coding to test it out. If it doesn't work, I may need to adjust the plan. I am eager to get started.)
This commit is contained in:
parent
023a2431ba
commit
ddc79e7125
38
planning.md
38
planning.md
|
@ -36,20 +36,54 @@ return digit_names[number]
|
||||||
|
|
||||||
## Integers under 20
|
## Integers under 20
|
||||||
If the integer is under 10, then use the procedure described above.
|
If the integer is under 10, then use the procedure described above.
|
||||||
Otherwise, ... (this is where you take over!)
|
|
||||||
|
|
||||||
|
Define some prefixes for numbers greater than 9:
|
||||||
|
teen_prefix=[ten, eleven, twelve, thir, four, fif, six, seven, eight, nine]
|
||||||
|
This could go at the top of the code as it will be used later
|
||||||
|
|
||||||
|
The number will also need to be broken into 2 parts
|
||||||
|
11 = 1 and 1
|
||||||
|
The first one will be tens_digit, the second number will be ones_digit
|
||||||
|
|
||||||
|
if number is between 10 and 12
|
||||||
|
return teen_prefix[tens_digit]
|
||||||
|
if number is between 13 and 19
|
||||||
|
return teen_prefix[ones_digit] + teen
|
||||||
|
|
||||||
|
|
||||||
## Integers under 100
|
## Integers under 100
|
||||||
|
This time we'll need prefixes but they are a little different because it is fourty and not forty
|
||||||
|
The first 2 prefixes in the list will not be used but need to be indexed
|
||||||
|
prefixes= [blank, blank, thir, for, fif, six, seven, eight, nine]
|
||||||
|
|
||||||
|
The number will again need to be broken into 2 parts
|
||||||
|
37= 3 and 7
|
||||||
|
The first one will be first_digit, the second number will be second_digit
|
||||||
|
|
||||||
|
if ones_digit = 0
|
||||||
|
return prefix[tens_digit] + ty
|
||||||
|
if ones_digit not equal to zero
|
||||||
|
return prefix[tens_digit] + digit_name[ones_digit]
|
||||||
|
|
||||||
|
|
||||||
## Integers under 1000
|
## Integers under 1000
|
||||||
|
Similar story, but now 3 digits
|
||||||
|
|
||||||
|
234, 2+3+4, hundreds_digit, tens_digit, ones_digit
|
||||||
|
|
||||||
|
return digit_names[hundreds_digit] + hundred + run the function above for integers under 100 and it will get added to this string
|
||||||
|
|
||||||
## Integers under 1000000
|
## Integers under 1000000
|
||||||
|
This will now run very similar to digits under 1000, but there will be thousands_digit, ten_thousands_digit, and hundred_thousands_digit
|
||||||
|
|
||||||
|
Ex] 984456
|
||||||
|
|
||||||
|
return digit_names[hundred_thousands_digit] + hundred + function for numbers less than 100 + thousand + function for numbers less than 1000. I think it's becoming harder to plan this out wihtout seeing how the earlier code works, but it seems logical to me and I feel like I have a plan for all the numbers.
|
||||||
|
|
||||||
## Negative integers down to -1 million
|
## Negative integers down to -1 million
|
||||||
We won't deal with negative integers in this problem set,
|
We won't deal with negative integers in this problem set,
|
||||||
but how would you deal with a negative integer, using the
|
but how would you deal with a negative integer, using the
|
||||||
functions above?
|
functions above?
|
||||||
|
|
||||||
|
For a negative digit, you would need an if statement that if -, adds the word netative before the name
|
||||||
|
|
Loading…
Reference in New Issue