-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Rotational Cipher: Exercise Added #460
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Reorders the test cases to match the order in the canonical test data, marks three track specific test cases and stores the test data version.
@behrtam This is ready for a review when you have time. |
@@ -0,0 +1,14 @@ | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is already a description in the markdown file, so I wouldn't add any doc string here. We tend to keep the stub files very limited, so we don't force any specific way of implementing an exercise or naming parameters onto the users. This should be enough:
def rotate():
pass
def rotational_cipher(message, key): | ||
import string | ||
alpha_lower = list(string.ascii_lowercase) | ||
alpha_upper = list(string.ascii_uppercase) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Instead of creating the alpha variables, you could rename them inside the import statement like this:
from string import ascii_lowercase as alpha_lower
from string import ascii_uppercase as alpha_upper
``
@@ -0,0 +1,12 @@ | |||
def rotational_cipher(message, key): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The convention is to use nouns for classes and verbs for functions. So in this case I would prefer rotate()
.
alpha_lower = list(string.ascii_lowercase) | ||
alpha_upper = list(string.ascii_uppercase) | ||
coded_message = "" | ||
for char in list(message): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The python strings already support the sequence type methods, so you don't need to convert them to lists to use for
or index()
.
coded_message = "" | ||
for char in list(message): | ||
if char in alpha_lower: | ||
char = alpha_lower[(alpha_lower.index(char) + key) % 26] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You could create a constant for the length of alphabet ALPHA_LEN = len(alpha_lower)
. In this case it would also work if the ascii alphabet is changed, which is totally unlikely to happen. So, using 26 is fine as well.
char = alpha_lower[(alpha_lower.index(char) + key) % 26] | ||
elif char in alpha_upper: | ||
char = alpha_upper[(alpha_upper.index(char) + key) % 26] | ||
coded_message = coded_message + char |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This could be shortened with coded_message += char
.
exercises/rotationa-cipher
Outdated
@@ -0,0 +1,2 @@ | |||
def rotational_cipher(): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I assume this file was exceedingly created (at least it's not needed) and should be removed.
import rotational_cipher | ||
|
||
|
||
class RotationalCipher(unittest.TestCase): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We try to stick to the canonical test data provided in the x-common
repository.
If you are missing a test case that would make sense for all tracks, than it would be best to also add it there.
If you think we need an additional test case that would be python specific it would be good to mark those with a comment (# additional track specific tests
) to make it easy to compare it against the common test cases.
@behrtam the updates have been applied. |
I can see the finish line. There are only two things left to do.
|
Haha, my track career was pretty short in High School, I gave it up for something less painful. The file has been deleted and the import/constant statements moved. Fingers crossed. |
Great, thanks for your work! |
* Create common working area * Extract Concepts from v2 exercise: reverse-string (exercism#657) * Create reverse-string.md * Update reverse-string.md * Add Concepts from v2 exercise: variable-length-quantity (exercism#503) * Add first concepts group * Improved concepts as per PR review * Adds concept from binary-search-tree (exercism#501) * Add initial list (exercism#463) First pass concepts for `allergies` to address exercism#460 * Initial list of concepts (exercism#462) First pass list of concepts to address exercism#459 * Add Concepts for v2 exercise: phone-number (exercism#420) * Add phone-number Python concepts * Small update to index access and slice topics. * Add notes from review. - more information about classes, inheritance - flesh out privacy, public and non-public - clarify wording around iterables and index/slice access * One more note about brackets and strings. * Add Concepts for v2 exercise: hamming (exercism#418) * Add concepts for hamming * Add note about tuple unpacking. * Add notes about polymorphism, builtins, and dunder methods. * Some whitespace fixes. * [WIP] `clock` exercise concepts. (exercism#395) * Extract Concepts from v2 exercise: markdown (exercism#540) * Initial commit for markdown exercise concepts. * Concept starter for markdown * Added detail to Markdown concepts * Final edits before harmonization Final Markdown edits before we merge and harmonize. * Add Concepts for v2 exercise: matrix (exercism#416) * `matrix` exercise concepts (issue exercism#386) First pass of concepts for `matrix ` exercise in python. Pretty sure this is too detailed, but wanted to get something for review before proceeding with additional exercises. * Edits to better match exercism#290 Formatting Edited concepts to better match the formatting of issue exercism#290 * Typo correction * added title * Extract Concepts from v2 exercise: rna-transcription (exercism#520) * Beginning of Concepts for rna-transcription * More detailed concepts for rna-trranscription More detailed concepts for rna-transcription exrcise. * Added title * Extract Concepts from v2 exercise: robot-simulator (exercism#538) * Beginning of concepts for robot-simulator. * WIP Concepts * Additional detail for concepts * Detail third pass Third pass on adding concept detail. * Additional detail for concepts. * Edits per PR Feedback Numerous spelling corrections. Additional edits to address comments from last review. * [WIP] Concept implementation instructions (exercism#665) * Adds instructions for exercise implementation * Adds correction as per PR reviews * Harmonize, part 1 (exercism#705) * fix relative links in references/README.md * First pass at harmonization Shifts all documents to a common format, adds minimal link tagging to the "concept" currently listed in each file. These will really need multiple more passes, as they diverge from each other even when describing the same topic. Many extraneous topics have crept in, added in an "aspirational" fashion to the exercises; we may need to trim some of that. * Pulling in examples from BethanyG * [WIP] Extracted concept unification (exercism#793) * Unification of extracted concepts * Typos and duplicates remove * Duplicates concept unification * Concepts have now links to original file * Update languages/reference/README.md Co-Authored-By: Erik Schierboom <[email protected]> Co-authored-by: khoivan88 <[email protected]> Co-authored-by: David G <[email protected]> Co-authored-by: Ashley Drake <[email protected]> Co-authored-by: Pedro Romano <[email protected]> Co-authored-by: BethanyG <[email protected]> Co-authored-by: Erik Schierboom <[email protected]>
* Create common working area * Extract Concepts from v2 exercise: reverse-string (exercism#657) * Create reverse-string.md * Update reverse-string.md * Add Concepts from v2 exercise: variable-length-quantity (exercism#503) * Add first concepts group * Improved concepts as per PR review * Adds concept from binary-search-tree (exercism#501) * Add initial list (exercism#463) First pass concepts for `allergies` to address exercism#460 * Initial list of concepts (exercism#462) First pass list of concepts to address exercism#459 * Add Concepts for v2 exercise: phone-number (exercism#420) * Add phone-number Python concepts * Small update to index access and slice topics. * Add notes from review. - more information about classes, inheritance - flesh out privacy, public and non-public - clarify wording around iterables and index/slice access * One more note about brackets and strings. * Add Concepts for v2 exercise: hamming (exercism#418) * Add concepts for hamming * Add note about tuple unpacking. * Add notes about polymorphism, builtins, and dunder methods. * Some whitespace fixes. * [WIP] `clock` exercise concepts. (exercism#395) * Extract Concepts from v2 exercise: markdown (exercism#540) * Initial commit for markdown exercise concepts. * Concept starter for markdown * Added detail to Markdown concepts * Final edits before harmonization Final Markdown edits before we merge and harmonize. * Add Concepts for v2 exercise: matrix (exercism#416) * `matrix` exercise concepts (issue exercism#386) First pass of concepts for `matrix ` exercise in python. Pretty sure this is too detailed, but wanted to get something for review before proceeding with additional exercises. * Edits to better match exercism#290 Formatting Edited concepts to better match the formatting of issue exercism#290 * Typo correction * added title * Extract Concepts from v2 exercise: rna-transcription (exercism#520) * Beginning of Concepts for rna-transcription * More detailed concepts for rna-trranscription More detailed concepts for rna-transcription exrcise. * Added title * Extract Concepts from v2 exercise: robot-simulator (exercism#538) * Beginning of concepts for robot-simulator. * WIP Concepts * Additional detail for concepts * Detail third pass Third pass on adding concept detail. * Additional detail for concepts. * Edits per PR Feedback Numerous spelling corrections. Additional edits to address comments from last review. * [WIP] Concept implementation instructions (exercism#665) * Adds instructions for exercise implementation * Adds correction as per PR reviews * Harmonize, part 1 (exercism#705) * fix relative links in references/README.md * First pass at harmonization Shifts all documents to a common format, adds minimal link tagging to the "concept" currently listed in each file. These will really need multiple more passes, as they diverge from each other even when describing the same topic. Many extraneous topics have crept in, added in an "aspirational" fashion to the exercises; we may need to trim some of that. * Pulling in examples from BethanyG * [WIP] Extracted concept unification (exercism#793) * Unification of extracted concepts * Typos and duplicates remove * Duplicates concept unification * Concepts have now links to original file * Update languages/reference/README.md Co-Authored-By: Erik Schierboom <[email protected]> Co-authored-by: khoivan88 <[email protected]> Co-authored-by: David G <[email protected]> Co-authored-by: Ashley Drake <[email protected]> Co-authored-by: Pedro Romano <[email protected]> Co-authored-by: BethanyG <[email protected]> Co-authored-by: Erik Schierboom <[email protected]>
* Create common working area * Extract Concepts from v2 exercise: reverse-string (exercism#657) * Create reverse-string.md * Update reverse-string.md * Add Concepts from v2 exercise: variable-length-quantity (exercism#503) * Add first concepts group * Improved concepts as per PR review * Adds concept from binary-search-tree (exercism#501) * Add initial list (exercism#463) First pass concepts for `allergies` to address exercism#460 * Initial list of concepts (exercism#462) First pass list of concepts to address exercism#459 * Add Concepts for v2 exercise: phone-number (exercism#420) * Add phone-number Python concepts * Small update to index access and slice topics. * Add notes from review. - more information about classes, inheritance - flesh out privacy, public and non-public - clarify wording around iterables and index/slice access * One more note about brackets and strings. * Add Concepts for v2 exercise: hamming (exercism#418) * Add concepts for hamming * Add note about tuple unpacking. * Add notes about polymorphism, builtins, and dunder methods. * Some whitespace fixes. * [WIP] `clock` exercise concepts. (exercism#395) * Extract Concepts from v2 exercise: markdown (exercism#540) * Initial commit for markdown exercise concepts. * Concept starter for markdown * Added detail to Markdown concepts * Final edits before harmonization Final Markdown edits before we merge and harmonize. * Add Concepts for v2 exercise: matrix (exercism#416) * `matrix` exercise concepts (issue exercism#386) First pass of concepts for `matrix ` exercise in python. Pretty sure this is too detailed, but wanted to get something for review before proceeding with additional exercises. * Edits to better match exercism#290 Formatting Edited concepts to better match the formatting of issue exercism#290 * Typo correction * added title * Extract Concepts from v2 exercise: rna-transcription (exercism#520) * Beginning of Concepts for rna-transcription * More detailed concepts for rna-trranscription More detailed concepts for rna-transcription exrcise. * Added title * Extract Concepts from v2 exercise: robot-simulator (exercism#538) * Beginning of concepts for robot-simulator. * WIP Concepts * Additional detail for concepts * Detail third pass Third pass on adding concept detail. * Additional detail for concepts. * Edits per PR Feedback Numerous spelling corrections. Additional edits to address comments from last review. * [WIP] Concept implementation instructions (exercism#665) * Adds instructions for exercise implementation * Adds correction as per PR reviews * Harmonize, part 1 (exercism#705) * fix relative links in references/README.md * First pass at harmonization Shifts all documents to a common format, adds minimal link tagging to the "concept" currently listed in each file. These will really need multiple more passes, as they diverge from each other even when describing the same topic. Many extraneous topics have crept in, added in an "aspirational" fashion to the exercises; we may need to trim some of that. * Pulling in examples from BethanyG * [WIP] Extracted concept unification (exercism#793) * Unification of extracted concepts * Typos and duplicates remove * Duplicates concept unification * Concepts have now links to original file * Update languages/reference/README.md Co-Authored-By: Erik Schierboom <[email protected]> Co-authored-by: khoivan88 <[email protected]> Co-authored-by: David G <[email protected]> Co-authored-by: Ashley Drake <[email protected]> Co-authored-by: Pedro Romano <[email protected]> Co-authored-by: BethanyG <[email protected]> Co-authored-by: Erik Schierboom <[email protected]>
* Create common working area * Extract Concepts from v2 exercise: reverse-string (exercism#657) * Create reverse-string.md * Update reverse-string.md * Add Concepts from v2 exercise: variable-length-quantity (exercism#503) * Add first concepts group * Improved concepts as per PR review * Adds concept from binary-search-tree (exercism#501) * Add initial list (exercism#463) First pass concepts for `allergies` to address exercism#460 * Initial list of concepts (exercism#462) First pass list of concepts to address exercism#459 * Add Concepts for v2 exercise: phone-number (exercism#420) * Add phone-number Python concepts * Small update to index access and slice topics. * Add notes from review. - more information about classes, inheritance - flesh out privacy, public and non-public - clarify wording around iterables and index/slice access * One more note about brackets and strings. * Add Concepts for v2 exercise: hamming (exercism#418) * Add concepts for hamming * Add note about tuple unpacking. * Add notes about polymorphism, builtins, and dunder methods. * Some whitespace fixes. * [WIP] `clock` exercise concepts. (exercism#395) * Extract Concepts from v2 exercise: markdown (exercism#540) * Initial commit for markdown exercise concepts. * Concept starter for markdown * Added detail to Markdown concepts * Final edits before harmonization Final Markdown edits before we merge and harmonize. * Add Concepts for v2 exercise: matrix (exercism#416) * `matrix` exercise concepts (issue exercism#386) First pass of concepts for `matrix ` exercise in python. Pretty sure this is too detailed, but wanted to get something for review before proceeding with additional exercises. * Edits to better match exercism#290 Formatting Edited concepts to better match the formatting of issue exercism#290 * Typo correction * added title * Extract Concepts from v2 exercise: rna-transcription (exercism#520) * Beginning of Concepts for rna-transcription * More detailed concepts for rna-trranscription More detailed concepts for rna-transcription exrcise. * Added title * Extract Concepts from v2 exercise: robot-simulator (exercism#538) * Beginning of concepts for robot-simulator. * WIP Concepts * Additional detail for concepts * Detail third pass Third pass on adding concept detail. * Additional detail for concepts. * Edits per PR Feedback Numerous spelling corrections. Additional edits to address comments from last review. * [WIP] Concept implementation instructions (exercism#665) * Adds instructions for exercise implementation * Adds correction as per PR reviews * Harmonize, part 1 (exercism#705) * fix relative links in references/README.md * First pass at harmonization Shifts all documents to a common format, adds minimal link tagging to the "concept" currently listed in each file. These will really need multiple more passes, as they diverge from each other even when describing the same topic. Many extraneous topics have crept in, added in an "aspirational" fashion to the exercises; we may need to trim some of that. * Pulling in examples from BethanyG * [WIP] Extracted concept unification (exercism#793) * Unification of extracted concepts * Typos and duplicates remove * Duplicates concept unification * Concepts have now links to original file * Update languages/reference/README.md Co-Authored-By: Erik Schierboom <[email protected]> Co-authored-by: khoivan88 <[email protected]> Co-authored-by: David G <[email protected]> Co-authored-by: Ashley Drake <[email protected]> Co-authored-by: Pedro Romano <[email protected]> Co-authored-by: BethanyG <[email protected]> Co-authored-by: Erik Schierboom <[email protected]>
* Create common working area * Extract Concepts from v2 exercise: reverse-string * Create reverse-string.md * Update reverse-string.md * Add Concepts from v2 exercise: variable-length-quantity * Add first concepts group * Improved concepts as per PR review * Adds concept from binary-search-tree * Add initial list First pass concepts for `allergies` to address exercism#460 * Initial list of concepts First pass list of concepts to address exercism#459 * Add Concepts for v2 exercise: phone-number * Add phone-number Python concepts * Small update to index access and slice topics. * Add notes from review. - more information about classes, inheritance - flesh out privacy, public and non-public - clarify wording around iterables and index/slice access * One more note about brackets and strings. * Add Concepts for v2 exercise: hamming * Add concepts for hamming * Add note about tuple unpacking. * Add notes about polymorphism, builtins, and dunder methods. * Some whitespace fixes. * [WIP] `clock` exercise concepts. * Extract Concepts from v2 exercise: markdown * Initial commit for markdown exercise concepts. * Concept starter for markdown * Added detail to Markdown concepts * Final edits before harmonization Final Markdown edits before we merge and harmonize. * Add Concepts for v2 exercise: matrix * `matrix` exercise concepts (issue exercism#386) First pass of concepts for `matrix ` exercise in python. Pretty sure this is too detailed, but wanted to get something for review before proceeding with additional exercises. * Edits to better match exercism#290 Formatting Edited concepts to better match the formatting of issue exercism#290 * Typo correction * added title * Extract Concepts from v2 exercise: rna-transcription * Beginning of Concepts for rna-transcription * More detailed concepts for rna-trranscription More detailed concepts for rna-transcription exrcise. * Added title * Extract Concepts from v2 exercise: robot-simulator * Beginning of concepts for robot-simulator. * WIP Concepts * Additional detail for concepts * Detail third pass Third pass on adding concept detail. * Additional detail for concepts. * Edits per PR Feedback Numerous spelling corrections. Additional edits to address comments from last review. * [WIP] Concept implementation instructions * Adds instructions for exercise implementation * Adds correction as per PR reviews * Harmonize, part 1 * fix relative links in references/README.md * First pass at harmonization Shifts all documents to a common format, adds minimal link tagging to the "concept" currently listed in each file. These will really need multiple more passes, as they diverge from each other even when describing the same topic. Many extraneous topics have crept in, added in an "aspirational" fashion to the exercises; we may need to trim some of that. * Pulling in examples from BethanyG * [WIP] Extracted concept unification * Unification of extracted concepts * Typos and duplicates remove * Duplicates concept unification * Concepts have now links to original file * Update languages/reference/README.md Co-Authored-By: Erik Schierboom <[email protected]> Co-authored-by: khoivan88 <[email protected]> Co-authored-by: David G <[email protected]> Co-authored-by: Ashley Drake <[email protected]> Co-authored-by: Pedro Romano <[email protected]> Co-authored-by: BethanyG <[email protected]> Co-authored-by: Erik Schierboom <[email protected]>
* Create common working area * Extract Concepts from v2 exercise: reverse-string * Create reverse-string.md * Update reverse-string.md * Add Concepts from v2 exercise: variable-length-quantity * Add first concepts group * Improved concepts as per PR review * Adds concept from binary-search-tree * Add initial list First pass concepts for `allergies` to address exercism#460 * Initial list of concepts First pass list of concepts to address exercism#459 * Add Concepts for v2 exercise: phone-number * Add phone-number Python concepts * Small update to index access and slice topics. * Add notes from review. - more information about classes, inheritance - flesh out privacy, public and non-public - clarify wording around iterables and index/slice access * One more note about brackets and strings. * Add Concepts for v2 exercise: hamming * Add concepts for hamming * Add note about tuple unpacking. * Add notes about polymorphism, builtins, and dunder methods. * Some whitespace fixes. * [WIP] `clock` exercise concepts. * Extract Concepts from v2 exercise: markdown * Initial commit for markdown exercise concepts. * Concept starter for markdown * Added detail to Markdown concepts * Final edits before harmonization Final Markdown edits before we merge and harmonize. * Add Concepts for v2 exercise: matrix * `matrix` exercise concepts (issue exercism#386) First pass of concepts for `matrix ` exercise in python. Pretty sure this is too detailed, but wanted to get something for review before proceeding with additional exercises. * Edits to better match exercism#290 Formatting Edited concepts to better match the formatting of issue exercism#290 * Typo correction * added title * Extract Concepts from v2 exercise: rna-transcription * Beginning of Concepts for rna-transcription * More detailed concepts for rna-trranscription More detailed concepts for rna-transcription exrcise. * Added title * Extract Concepts from v2 exercise: robot-simulator * Beginning of concepts for robot-simulator. * WIP Concepts * Additional detail for concepts * Detail third pass Third pass on adding concept detail. * Additional detail for concepts. * Edits per PR Feedback Numerous spelling corrections. Additional edits to address comments from last review. * [WIP] Concept implementation instructions * Adds instructions for exercise implementation * Adds correction as per PR reviews * Harmonize, part 1 * fix relative links in references/README.md * First pass at harmonization Shifts all documents to a common format, adds minimal link tagging to the "concept" currently listed in each file. These will really need multiple more passes, as they diverge from each other even when describing the same topic. Many extraneous topics have crept in, added in an "aspirational" fashion to the exercises; we may need to trim some of that. * Pulling in examples from BethanyG * [WIP] Extracted concept unification * Unification of extracted concepts * Typos and duplicates remove * Duplicates concept unification * Concepts have now links to original file * Update languages/reference/README.md Co-Authored-By: Erik Schierboom <[email protected]> Co-authored-by: khoivan88 <[email protected]> Co-authored-by: David G <[email protected]> Co-authored-by: Ashley Drake <[email protected]> Co-authored-by: Pedro Romano <[email protected]> Co-authored-by: BethanyG <[email protected]> Co-authored-by: Erik Schierboom <[email protected]>
* Create common working area * Extract Concepts from v2 exercise: reverse-string * Create reverse-string.md * Update reverse-string.md * Add Concepts from v2 exercise: variable-length-quantity * Add first concepts group * Improved concepts as per PR review * Adds concept from binary-search-tree * Add initial list First pass concepts for `allergies` to address #460 * Initial list of concepts First pass list of concepts to address #459 * Add Concepts for v2 exercise: phone-number * Add phone-number Python concepts * Small update to index access and slice topics. * Add notes from review. - more information about classes, inheritance - flesh out privacy, public and non-public - clarify wording around iterables and index/slice access * One more note about brackets and strings. * Add Concepts for v2 exercise: hamming * Add concepts for hamming * Add note about tuple unpacking. * Add notes about polymorphism, builtins, and dunder methods. * Some whitespace fixes. * [WIP] `clock` exercise concepts. * Extract Concepts from v2 exercise: markdown * Initial commit for markdown exercise concepts. * Concept starter for markdown * Added detail to Markdown concepts * Final edits before harmonization Final Markdown edits before we merge and harmonize. * Add Concepts for v2 exercise: matrix * `matrix` exercise concepts (issue #386) First pass of concepts for `matrix ` exercise in python. Pretty sure this is too detailed, but wanted to get something for review before proceeding with additional exercises. * Edits to better match #290 Formatting Edited concepts to better match the formatting of issue #290 * Typo correction * added title * Extract Concepts from v2 exercise: rna-transcription * Beginning of Concepts for rna-transcription * More detailed concepts for rna-trranscription More detailed concepts for rna-transcription exrcise. * Added title * Extract Concepts from v2 exercise: robot-simulator * Beginning of concepts for robot-simulator. * WIP Concepts * Additional detail for concepts * Detail third pass Third pass on adding concept detail. * Additional detail for concepts. * Edits per PR Feedback Numerous spelling corrections. Additional edits to address comments from last review. * [WIP] Concept implementation instructions * Adds instructions for exercise implementation * Adds correction as per PR reviews * Harmonize, part 1 * fix relative links in references/README.md * First pass at harmonization Shifts all documents to a common format, adds minimal link tagging to the "concept" currently listed in each file. These will really need multiple more passes, as they diverge from each other even when describing the same topic. Many extraneous topics have crept in, added in an "aspirational" fashion to the exercises; we may need to trim some of that. * Pulling in examples from BethanyG * [WIP] Extracted concept unification * Unification of extracted concepts * Typos and duplicates remove * Duplicates concept unification * Concepts have now links to original file * Update languages/reference/README.md Co-Authored-By: Erik Schierboom <[email protected]> Co-authored-by: khoivan88 <[email protected]> Co-authored-by: David G <[email protected]> Co-authored-by: Ashley Drake <[email protected]> Co-authored-by: Pedro Romano <[email protected]> Co-authored-by: BethanyG <[email protected]> Co-authored-by: Erik Schierboom <[email protected]>
I will port the Rotational Cipher excerise