From 401162aac35c7e701a74ad00cca7e56caa635df0 Mon Sep 17 00:00:00 2001 From: kathrynoh23 <126970932+kathrynoh23@users.noreply.github.com> Date: Tue, 12 Sep 2023 13:13:36 -0400 Subject: [PATCH] Kathryn Odell-Hamilton 2023.9.13 I understand the Data Types within "Number Words" from learning and teaching Java. The planning.md was straight forward. Was my return for each function correct? Am I to used " " for the string of text. Within some of your discussions in Discord, you had mention to checkout using ChatGPT. I wouldn't sign on to ChatGPT because it wanted your phone number. Instead, I used Bing Chat after signing into my Microsoft account. Wow!!! I found it interesting with the extensive explanation of information it provides to solve a problem. I didn't use it for the answers. AI is very scary if not used in a responsible manner. Yes, the numberwords.py had all the answers, but I found it valuable because of how you wrote out the digit numbers for the "else" and "return". In do understand this. The test_numberwords.py file completely passed with the test_cases. --- numberwords.py | 4 +++ planning.md | 35 +++++++++++++++++-- planning_1st_try.md | 84 +++++++++++++++++++++++++++++++++++++++++++++ test_numberwords.py | 2 ++ 4 files changed, 122 insertions(+), 3 deletions(-) create mode 100644 planning_1st_try.md diff --git a/numberwords.py b/numberwords.py index 0411373..035a445 100644 --- a/numberwords.py +++ b/numberwords.py @@ -3,6 +3,10 @@ # By MWC Contributors # Functions to print out a verbal representation of an integer. +# This file did have all the answers. +# It helped me with going back to review planning.md. +# I review this with all the digit names used within the code. + MAXIMUM = 1000000 DIGIT_NAMES = [ "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" diff --git a/planning.md b/planning.md index 40d428a..f5881e4 100644 --- a/planning.md +++ b/planning.md @@ -38,18 +38,47 @@ return digit_names[number] If the integer is under 10, then use the procedure described above. Otherwise, ... (this is where you take over!) -## Integers under 100 +# Define the integer to string +# Could use if else +# elif should be returned to "zero" or "Number is greater than or equal to 20." +# ??Not sure +def int_under_20_to_str(number): + if number < 20: + return int_under_20_to_str(number) + elif number >= 20: + return "Number is greater than or equal to 20." + +## Integers under 100 +def int_under_100_to_str(number): + if number < 100: + return int_under_100_to_str(number) + elif number >= 100: + return "Number is greater than or equal to 100." ## Integers under 1000 - +def int_under_1000_to_str(number): + if number < 1000: + return int_under_1000_to_str(number) + elif number >= 1000: + return "Number is greater than or equal to 1000." ## Integers under 1000000 - +def int_under_1000000_to_str(number): + if number < 1000000: + return int_under_1000000_to_str(number) + elif number >= 1000000: + return "Number is greater than or equal to 1000000." ## Negative integers down to -1 million We won't deal with negative integers in this problem set, but how would you deal with a negative integer, using the functions above? +# You can use the negative integer range from -1 to -1000000 +if number < 0: +if number > -1000000: +elif number >= 0: +elif number >= 1000000: +# Is this what you are looking for coding the define functions? diff --git a/planning_1st_try.md b/planning_1st_try.md new file mode 100644 index 0000000..6ddadc1 --- /dev/null +++ b/planning_1st_try.md @@ -0,0 +1,84 @@ +# Planning Number Words + +Before you start programming, do some planning here on how you will break down +this problem. Here's a hint: if you start by writing functions for smaller numbers, +you will find that these functions help you with the larger numbers. For each of +the cases below, explain how you would turn a number into a string. Feel free to +write in sentences or in pseudocode (pseudocode is a sort of "casual programming" +where you're almost writing in code, being pretty specific without worrying about +syntax. For each case below, assume the integer is zero or more--don't worry about +negative integers. + +## Integers under 10 +(This one is done for you!) +For an integer less than ten, you need to know the name of each digit, and look it +up. You could use a big if/else statement like: + +``` +if number == 0: + return "zero" +elif number == 1: + return "one" +elif number == 1: + return "two" +``` + +A cleaner way to do this would be to make a list of digit names, from zero to nine. +Then you could just look up a digit's name: + +``` +digit_names = [ + "zero", "one", "two", "three", "four", + "five", "six", "seven", "eight", "nine" +] +return digit_names[number] +``` + +## Integers under 20 +If the integer is under 10, then use the procedure described above. +Otherwise, ... (this is where you take over!) + +# Define the integer to string +# Could use if else +# elif should be returned to "zero" or "Number is greater than or equal to 20." +# ??Not sure + +def int_under_20_to_str(number): + if number <20: + return str(number) + elif number >= 20: + return "Number is greater than or equal to 20." + +## Integers under 100 +def int_under_100_to_str(number): + if number < 100: + return str(number) + elif number >= 100: + return "Number is greater than or equal to 100." + +## Integers under 1000 +def int_under_1000_to_str(number): + if number < 1000: + return str(number) + elif number >= 100: + return "Number is greater than or equal to 1000." + +## Integers under 1000000 +def int_under_1000000_to_str(number): + if number < 1000000: + return str(number) + elif number >= 100: + return "Number is greater than or equal to 100." + +## Negative integers down to -1 million +We won't deal with negative integers in this problem set, +but how would you deal with a negative integer, using the +functions above? + +# You can use the negative integer range from -1 to -1000000 +if number < 0: +if number > -1000000: +elif number >= 0: +elif number >= 1000000: + +# Is this what you are looking for coding the define functions? diff --git a/test_numberwords.py b/test_numberwords.py index e40f218..4d57221 100644 --- a/test_numberwords.py +++ b/test_numberwords.py @@ -5,6 +5,8 @@ from numberwords import int_under_1000000_to_str +# All the tests passed when I ran it. + test_cases = [ [0, 'zero'], [3, 'three'],