Post History
Background Inspired by this challenge that is also a mathematical English translator. Challenge Write a program that translates a mathematical expression using English with the following specifi...
#6: Post edited
> This challenge is currently under beta release. If given enough positivity, it will remain here and stand as a fully released challenge. Otherwise, it will be deleted and put back in the [sandboxed post](https://codegolf.codidact.com/posts/283948/). Please fix the errors there instead.- # Background
- Inspired by [this challenge that is also a mathematical English translator](https://codegolf.codidact.com/posts/283865).
- # Challenge
- Write a program that translates a mathematical expression using English with the following specifications:
- - The expression can only take in numbers, letters from the English alphabet, the equal sign, and the arithmetic operators. No, exponents aren't arithmetic.
- - If the target character(s) is a/are number(s):
- - The number range can only be from `-999` up to `999`.
- - When in the tens place, use the dash (`-`) when there are spaced numberings. For example, `21` is `twenty-one`.
- - When in the hundreds place, add `and` to the string if the tens and/or the ones place aren't empty. For example, `125` is `one hundred and twenty-five`.
- - If the number is negative, use `negative` before the number. For example, `-13` is `negative thirteen`.
- - If the target character is a letter:
- - The input should only take 1 letter.
- - When put on the result, the letter must be capitalized.
- - If the target character is a symbol:
- - `+` is `plus`.
- - `-` is `minus`.
- - `*` is `times`.
- - `/` is `divided by`.
- - `=` is `equals` or `is equal to`.
- - Parentheses shouldn't be inputted.
- - Whitespaces are ignored.
- - Any character that's not part of the specification is ignored.
- - Trailing whitespaces and newlines are allowed.
- - This is <a class="badge is-tag">code-golf</a>, so the shortest program for each language wins!
- # Test Cases
- ```none
- // Input
- # Output
- 14
- fourteen
- 1+2
- one plus two
- 53 /3
- fifty-three divided by three
- 6 +2* 7 =20
- six plus two times seven equals twenty
- 8*8*8 * 8 * 8 -1
- eight times eight times eight times eight times eight minus one
- = 4
- is equal to four
- x + y = z
- X plus Y equals Z
- -5 +- 6
- negative five plus negative six
- Testcases by [**@celtschk**](https://codegolf.codidact.com/comments/thread/4623#comment-13896):
- 500
- five hundred
- 129
- one hundred and twenty-nine
- 0+0=0
- zero plus zero equals zero
- 0 -- 0 = 0
- zero minus negative zero equals zero
- ```
- # Background
- Inspired by [this challenge that is also a mathematical English translator](https://codegolf.codidact.com/posts/283865).
- # Challenge
- Write a program that translates a mathematical expression using English with the following specifications:
- - The expression can only take in numbers, letters from the English alphabet, the equal sign, and the arithmetic operators. No, exponents aren't arithmetic.
- - If the target character(s) is a/are number(s):
- - The number range can only be from `-999` up to `999`.
- - When in the tens place, use the dash (`-`) when there are spaced numberings. For example, `21` is `twenty-one`.
- - When in the hundreds place, add `and` to the string if the tens and/or the ones place aren't empty. For example, `125` is `one hundred and twenty-five`.
- - If the number is negative, use `negative` before the number. For example, `-13` is `negative thirteen`.
- - If the target character is a letter:
- - The input should only take 1 letter.
- - When put on the result, the letter must be capitalized.
- - If the target character is a symbol:
- - `+` is `plus`.
- - `-` is `minus`.
- - `*` is `times`.
- - `/` is `divided by`.
- - `=` is `equals` or `is equal to`.
- - Parentheses shouldn't be inputted.
- - Whitespaces are ignored.
- - Any character that's not part of the specification is ignored.
- - Trailing whitespaces and newlines are allowed.
- - This is <a class="badge is-tag">code-golf</a>, so the shortest program for each language wins!
- # Test Cases
- ```none
- // Input
- # Output
- 14
- fourteen
- 1+2
- one plus two
- 53 /3
- fifty-three divided by three
- 6 +2* 7 =20
- six plus two times seven equals twenty
- 8*8*8 * 8 * 8 -1
- eight times eight times eight times eight times eight minus one
- = 4
- is equal to four
- x + y = z
- X plus Y equals Z
- -5 +- 6
- negative five plus negative six
- Testcases by [**@celtschk**](https://codegolf.codidact.com/comments/thread/4623#comment-13896):
- 500
- five hundred
- 129
- one hundred and twenty-nine
- 0+0=0
- zero plus zero equals zero
- 0 -- 0 = 0
- zero minus negative zero equals zero
- ```
#5: Post edited
- > This challenge is currently under beta release. If given enough positivity, it will remain here and stand as a fully released challenge. Otherwise, it will be deleted and put back in the [sandboxed post](https://codegolf.codidact.com/posts/283948/). Please fix the errors there instead.
- # Background
- Inspired by [this challenge that is also a mathematical English translator](https://codegolf.codidact.com/posts/283865).
- # Challenge
- Write a program that translates a mathematical expression using English with the following specifications:
- - The expression can only take in numbers, letters from the English alphabet, the equal sign, and the arithmetic operators. No, exponents aren't arithmetic.
- - If the target character(s) is a/are number(s):
- - The number range can only be from `-999` up to `999`.
- - When in the tens place, use the dash (`-`) when there are spaced numberings. For example, `21` is `twenty-one`.
- - When in the hundreds place, add `and` to the string if the tens and/or the ones place aren't empty. For example, `125` is `one hundred and twenty-five`.
- - If the number is negative, use `negative` before the number. For example, `-13` is `negative thirteen`.
- - If the target character is a letter:
- - The input should only take 1 letter.
- - When put on the result, the letter must be capitalized.
- - If the target character is a symbol:
- - `+` is `plus`.
- - `-` is `minus`.
- - `*` is `times`.
- - `/` is `divided by`.
- - `=` is `equals` or `is equal to`.
- - Parentheses shouldn't be inputted.
- - Whitespaces are ignored.
- - This is <a class="badge is-tag">code-golf</a>, so the shortest program for each language wins!
- # Test Cases
- ```none
- // Input
- # Output
- 14
- fourteen
- 1+2
- one plus two
- 53 /3
- fifty-three divided by three
- 6 +2* 7 =20
- six plus two times seven equals twenty
- 8*8*8 * 8 * 8 -1
- eight times eight times eight times eight times eight minus one
- = 4
- is equal to four
- x + y = z
- X plus Y equals Z
- -5 +- 6
- negative five plus negative six
- Testcases by [**@celtschk**](https://codegolf.codidact.com/comments/thread/4623#comment-13896):
- 500
- five hundred
- 129
- one hundred and twenty-nine
- 0+0=0
- zero plus zero equals zero
- 0 -- 0 = 0
- zero minus negative zero equals zero
- ```
- > This challenge is currently under beta release. If given enough positivity, it will remain here and stand as a fully released challenge. Otherwise, it will be deleted and put back in the [sandboxed post](https://codegolf.codidact.com/posts/283948/). Please fix the errors there instead.
- # Background
- Inspired by [this challenge that is also a mathematical English translator](https://codegolf.codidact.com/posts/283865).
- # Challenge
- Write a program that translates a mathematical expression using English with the following specifications:
- - The expression can only take in numbers, letters from the English alphabet, the equal sign, and the arithmetic operators. No, exponents aren't arithmetic.
- - If the target character(s) is a/are number(s):
- - The number range can only be from `-999` up to `999`.
- - When in the tens place, use the dash (`-`) when there are spaced numberings. For example, `21` is `twenty-one`.
- - When in the hundreds place, add `and` to the string if the tens and/or the ones place aren't empty. For example, `125` is `one hundred and twenty-five`.
- - If the number is negative, use `negative` before the number. For example, `-13` is `negative thirteen`.
- - If the target character is a letter:
- - The input should only take 1 letter.
- - When put on the result, the letter must be capitalized.
- - If the target character is a symbol:
- - `+` is `plus`.
- - `-` is `minus`.
- - `*` is `times`.
- - `/` is `divided by`.
- - `=` is `equals` or `is equal to`.
- - Parentheses shouldn't be inputted.
- - Whitespaces are ignored.
- - Any character that's not part of the specification is ignored.
- - Trailing whitespaces and newlines are allowed.
- - This is <a class="badge is-tag">code-golf</a>, so the shortest program for each language wins!
- # Test Cases
- ```none
- // Input
- # Output
- 14
- fourteen
- 1+2
- one plus two
- 53 /3
- fifty-three divided by three
- 6 +2* 7 =20
- six plus two times seven equals twenty
- 8*8*8 * 8 * 8 -1
- eight times eight times eight times eight times eight minus one
- = 4
- is equal to four
- x + y = z
- X plus Y equals Z
- -5 +- 6
- negative five plus negative six
- Testcases by [**@celtschk**](https://codegolf.codidact.com/comments/thread/4623#comment-13896):
- 500
- five hundred
- 129
- one hundred and twenty-nine
- 0+0=0
- zero plus zero equals zero
- 0 -- 0 = 0
- zero minus negative zero equals zero
- ```
#4: Post edited
Define a mathematical expression in English
- > This challenge is currently under beta release. If given enough positivity, it will remain here and stand as a fully released challenge. Otherwise, it will be deleted and put back in the [sandboxed post](https://codegolf.codidact.com/posts/283948/). Please fix the errors there instead.
- # Background
- Inspired by [this challenge that is also a mathematical English translator](https://codegolf.codidact.com/posts/283865).
- # Challenge
- Write a program that translates a mathematical expression using English with the following specifications:
- - The expression can only take in numbers, letters from the English alphabet, the equal sign, and the arithmetic operators. No, exponents aren't arithmetic.
- - If the target character(s) is a/are number(s):
- - The number range can only be from `-999` up to `999`.- - When in the tens place, use the dash (`-`) when there are spaced numberings. For example, `21` is `twenty-one`.- - When in the hundreds place, add `and` to the string if the tens and/or the ones place aren't empty. For example, `125` is `one hundred and twenty-five`.- - If the number is negative, use `negative` before the number. For example, `-13` is `negative thirteen`.- - If the target character is a letter:
- - The input should only take 1 letter.- - When put on the result, the letter must be capitalized.- - If the target character is a symbol:
- - `+` is `plus`.- - `-` is `minus`.- - `*` is `times`.- - `/` is `divided by`.- - `=` is `equals` or `is equal to`.- - Parentheses shouldn't be inputted.
- - Whitespaces are ignored.
- - This is <a class="badge is-tag">code-golf</a>, so the shortest program for each language wins!
- # Test Cases
- ```none
- // Input
- # Output
- 14
- fourteen
- 1+2
- one plus two
- 53 /3
- fifty-three divided by three
- 6 +2* 7 =20
- six plus two times seven equals twenty
- 8*8*8 * 8 * 8 -1
- eight times eight times eight times eight times eight minus one
- = 4
- is equal to four
- x + y = z
- X plus Y equals Z
- -5 +- 6
- negative five plus negative six
- Testcases by [**@celtschk**](https://codegolf.codidact.com/comments/thread/4623#comment-13896):
- 500
- five hundred
- 129
- one hundred and twenty-nine
- 0+0=0
- zero plus zero equals zero
- 0 -- 0 = 0
- zero minus negative zero equals zero
- ```
- > This challenge is currently under beta release. If given enough positivity, it will remain here and stand as a fully released challenge. Otherwise, it will be deleted and put back in the [sandboxed post](https://codegolf.codidact.com/posts/283948/). Please fix the errors there instead.
- # Background
- Inspired by [this challenge that is also a mathematical English translator](https://codegolf.codidact.com/posts/283865).
- # Challenge
- Write a program that translates a mathematical expression using English with the following specifications:
- - The expression can only take in numbers, letters from the English alphabet, the equal sign, and the arithmetic operators. No, exponents aren't arithmetic.
- - If the target character(s) is a/are number(s):
- - The number range can only be from `-999` up to `999`.
- - When in the tens place, use the dash (`-`) when there are spaced numberings. For example, `21` is `twenty-one`.
- - When in the hundreds place, add `and` to the string if the tens and/or the ones place aren't empty. For example, `125` is `one hundred and twenty-five`.
- - If the number is negative, use `negative` before the number. For example, `-13` is `negative thirteen`.
- - If the target character is a letter:
- - The input should only take 1 letter.
- - When put on the result, the letter must be capitalized.
- - If the target character is a symbol:
- - `+` is `plus`.
- - `-` is `minus`.
- - `*` is `times`.
- - `/` is `divided by`.
- - `=` is `equals` or `is equal to`.
- - Parentheses shouldn't be inputted.
- - Whitespaces are ignored.
- - This is <a class="badge is-tag">code-golf</a>, so the shortest program for each language wins!
- # Test Cases
- ```none
- // Input
- # Output
- 14
- fourteen
- 1+2
- one plus two
- 53 /3
- fifty-three divided by three
- 6 +2* 7 =20
- six plus two times seven equals twenty
- 8*8*8 * 8 * 8 -1
- eight times eight times eight times eight times eight minus one
- = 4
- is equal to four
- x + y = z
- X plus Y equals Z
- -5 +- 6
- negative five plus negative six
- Testcases by [**@celtschk**](https://codegolf.codidact.com/comments/thread/4623#comment-13896):
- 500
- five hundred
- 129
- one hundred and twenty-nine
- 0+0=0
- zero plus zero equals zero
- 0 -- 0 = 0
- zero minus negative zero equals zero
- ```
#3: Post edited
- > This challenge is currently under beta release. If given enough positivity, it will remain here and stand as a fully released challenge. Otherwise, it will be deleted and put back in the [sandboxed post](https://codegolf.codidact.com/posts/283948/). Please fix the errors there instead.
- # Background
- Inspired by [this challenge that is also a mathematical English translator](https://codegolf.codidact.com/posts/283865).
- # Challenge
- Write a program that translates a mathematical expression using English with the following specifications:
- - The expression can only take in numbers, letters from the English alphabet, the equal sign, and the arithmetic operators. No, exponents aren't arithmetic.
- - If the target character(s) is a/are number(s):
- - - The number range can only be from `-999` up to `999`.
- - - When in the tens place, use the dash (`-`) when there are spaced numberings. For example, `21` is `twenty-one`.
- - - When in the hundreds place, add `and` to the string if the tens and/or the ones place aren't empty. For example, `125` is `one hundred and twenty-five`.
- - - If the number is negative, use `negative` before the number. For example, `-13` is `negative thirteen`.
- - If the target character is a letter:
- - - The input should only take 1 letter.
- - - When put on the result, the letter must be capitalized.
- - If the target character is a symbol:
- - - `+` is `plus`.
- - - `-` is `minus`.
- - - `*` is `times`.
- - - `/` is `divided by`.
- - - `=` is `equals` or `is equal to`.
- - Parentheses shouldn't be inputted.
- - Whitespaces are ignored.
- - This is <a class="badge is-tag">code-golf</a>, so the shortest program for each language wins!
- # Test Cases
- ```none
- // Input
- # Output
- 14
- fourteen
- 1+2
- one plus two
- 53 /3
- fifty-three divided by three
- 6 +2* 7 =20
- six plus two times seven equals twenty
- 8*8*8 * 8 * 8 -1
- eight times eight times eight times eight times eight minus one
- = 4
- is equal to four
- x + y = z
- X plus Y equals Z
- -5 +- 6
- negative five plus negative six
- ```
- > This challenge is currently under beta release. If given enough positivity, it will remain here and stand as a fully released challenge. Otherwise, it will be deleted and put back in the [sandboxed post](https://codegolf.codidact.com/posts/283948/). Please fix the errors there instead.
- # Background
- Inspired by [this challenge that is also a mathematical English translator](https://codegolf.codidact.com/posts/283865).
- # Challenge
- Write a program that translates a mathematical expression using English with the following specifications:
- - The expression can only take in numbers, letters from the English alphabet, the equal sign, and the arithmetic operators. No, exponents aren't arithmetic.
- - If the target character(s) is a/are number(s):
- - - The number range can only be from `-999` up to `999`.
- - - When in the tens place, use the dash (`-`) when there are spaced numberings. For example, `21` is `twenty-one`.
- - - When in the hundreds place, add `and` to the string if the tens and/or the ones place aren't empty. For example, `125` is `one hundred and twenty-five`.
- - - If the number is negative, use `negative` before the number. For example, `-13` is `negative thirteen`.
- - If the target character is a letter:
- - - The input should only take 1 letter.
- - - When put on the result, the letter must be capitalized.
- - If the target character is a symbol:
- - - `+` is `plus`.
- - - `-` is `minus`.
- - - `*` is `times`.
- - - `/` is `divided by`.
- - - `=` is `equals` or `is equal to`.
- - Parentheses shouldn't be inputted.
- - Whitespaces are ignored.
- - This is <a class="badge is-tag">code-golf</a>, so the shortest program for each language wins!
- # Test Cases
- ```none
- // Input
- # Output
- 14
- fourteen
- 1+2
- one plus two
- 53 /3
- fifty-three divided by three
- 6 +2* 7 =20
- six plus two times seven equals twenty
- 8*8*8 * 8 * 8 -1
- eight times eight times eight times eight times eight minus one
- = 4
- is equal to four
- x + y = z
- X plus Y equals Z
- -5 +- 6
- negative five plus negative six
- Testcases by [**@celtschk**](https://codegolf.codidact.com/comments/thread/4623#comment-13896):
- 500
- five hundred
- 129
- one hundred and twenty-nine
- 0+0=0
- zero plus zero equals zero
- 0 -- 0 = 0
- zero minus negative zero equals zero
- ```
#2: Post edited
- > This challenge is currently under beta release. If given enough positivity, it will remain here and stand as a fully released challenge. Otherwise, it will be deleted and put back in the [sandboxed post](https://codegolf.codidact.com/posts/283948/). Please fix the errors there instead.
- # Background
- Inspired by [this challenge that is also a mathematical English translator](https://codegolf.codidact.com/posts/283865).
- # Challenge
- Write a program that translates a mathematical expression using English with the following specifications:
- - The expression can only take in numbers, letters from the English alphabet, the equal sign, and the arithmetic operators. No, exponents aren't arithmetic.
- - If the target character(s) is a/are number(s):
- - - The number range can only be from `-999` up to `999`.
- - - When in the tens place, use the dash (`-`) when there are spaced numberings. For example, `21` is `twenty-one`.
- - - When in the hundreds place, add `and` to the string if the tens and/or the ones place aren't empty. For example, `125` is `one hundred and twenty-five`.
- - - If the number is negative, use `negative` before the number. For example, `-13` is `negative thirteen`.
- - If the target character is a letter:
- - - The input should only take 1 letter.
- - - When put on the result, the letter must be capitalized.
- - If the target character is a symbol:
- - - `+` is `plus`.
- - - `-` is `minus`.
- - - `*` is `times`.
- - - `/` is `divided by`.
- - - `=` is `equals` or `is equal to`.
- - Parentheses shouldn't be inputted.
- - Whitespaces are ignored.
- - This is <a class="badge is-tag">code-golf</a>, so the shortest program for each language wins!
- # Test Cases
- ```none
- // Input
- # Output
- 14
- fourteen
- 1+2
1 plus 2- 53 /3
53 divided by 3- 6 +2* 7 =20
6 plus 2 times 7 equals twenty- 8*8*8 * 8 * 8 -1
8 times 8 times 8 times 8 times 8 minus 1- = 4
is equal to 4- x + y = z
- X plus Y equals Z
- -5 +- 6
negative 5 plus negative 6- ```
- > This challenge is currently under beta release. If given enough positivity, it will remain here and stand as a fully released challenge. Otherwise, it will be deleted and put back in the [sandboxed post](https://codegolf.codidact.com/posts/283948/). Please fix the errors there instead.
- # Background
- Inspired by [this challenge that is also a mathematical English translator](https://codegolf.codidact.com/posts/283865).
- # Challenge
- Write a program that translates a mathematical expression using English with the following specifications:
- - The expression can only take in numbers, letters from the English alphabet, the equal sign, and the arithmetic operators. No, exponents aren't arithmetic.
- - If the target character(s) is a/are number(s):
- - - The number range can only be from `-999` up to `999`.
- - - When in the tens place, use the dash (`-`) when there are spaced numberings. For example, `21` is `twenty-one`.
- - - When in the hundreds place, add `and` to the string if the tens and/or the ones place aren't empty. For example, `125` is `one hundred and twenty-five`.
- - - If the number is negative, use `negative` before the number. For example, `-13` is `negative thirteen`.
- - If the target character is a letter:
- - - The input should only take 1 letter.
- - - When put on the result, the letter must be capitalized.
- - If the target character is a symbol:
- - - `+` is `plus`.
- - - `-` is `minus`.
- - - `*` is `times`.
- - - `/` is `divided by`.
- - - `=` is `equals` or `is equal to`.
- - Parentheses shouldn't be inputted.
- - Whitespaces are ignored.
- - This is <a class="badge is-tag">code-golf</a>, so the shortest program for each language wins!
- # Test Cases
- ```none
- // Input
- # Output
- 14
- fourteen
- 1+2
- one plus two
- 53 /3
- fifty-three divided by three
- 6 +2* 7 =20
- six plus two times seven equals twenty
- 8*8*8 * 8 * 8 -1
- eight times eight times eight times eight times eight minus one
- = 4
- is equal to four
- x + y = z
- X plus Y equals Z
- -5 +- 6
- negative five plus negative six
- ```
#1: Initial revision
Define a mathematical expression in English
> This challenge is currently under beta release. If given enough positivity, it will remain here and stand as a fully released challenge. Otherwise, it will be deleted and put back in the [sandboxed post](https://codegolf.codidact.com/posts/283948/). Please fix the errors there instead. # Background Inspired by [this challenge that is also a mathematical English translator](https://codegolf.codidact.com/posts/283865). # Challenge Write a program that translates a mathematical expression using English with the following specifications: - The expression can only take in numbers, letters from the English alphabet, the equal sign, and the arithmetic operators. No, exponents aren't arithmetic. - If the target character(s) is a/are number(s): - - The number range can only be from `-999` up to `999`. - - When in the tens place, use the dash (`-`) when there are spaced numberings. For example, `21` is `twenty-one`. - - When in the hundreds place, add `and` to the string if the tens and/or the ones place aren't empty. For example, `125` is `one hundred and twenty-five`. - - If the number is negative, use `negative` before the number. For example, `-13` is `negative thirteen`. - If the target character is a letter: - - The input should only take 1 letter. - - When put on the result, the letter must be capitalized. - If the target character is a symbol: - - `+` is `plus`. - - `-` is `minus`. - - `*` is `times`. - - `/` is `divided by`. - - `=` is `equals` or `is equal to`. - Parentheses shouldn't be inputted. - Whitespaces are ignored. - This is <a class="badge is-tag">code-golf</a>, so the shortest program for each language wins! # Test Cases ```none // Input # Output 14 fourteen 1+2 1 plus 2 53 /3 53 divided by 3 6 +2* 7 =20 6 plus 2 times 7 equals twenty 8*8*8 * 8 * 8 -1 8 times 8 times 8 times 8 times 8 minus 1 = 4 is equal to 4 x + y = z X plus Y equals Z -5 +- 6 negative 5 plus negative 6 ```