Skip to content

Conversation

UdayBadola
Copy link

Input Validation and Error Handling:

Implemented the get_valid_integer function to ensure that the key entered by the user is a valid integer.
Added prompts for the user to input a custom alphabet or use the default one.
Refactoring Code Structure:

Encapsulated the main menu logic within a main function.
Separated concerns by creating helper functions for input validation.
PEP 8 Compliance:

Adjusted code formatting, such as adding spaces around operators and after commas.
Ensured that line lengths do not exceed 79 characters where possible.
Enhanced Docstrings:

Updated docstrings to provide clearer and more concise explanations.
Used consistent formatting for parameters and return values.
Type Hinting:

Used Optional[str] from the typing module for better type hinting.
Specified return types for all functions.
Modularization:

Separated user interaction from the core logic, making the code more modular and easier to test.
This separation allows the core functions to be reused in other modules or scripts.
User Experience Improvements:

Enhanced the main menu to display options in a more readable format.
Allowed users to specify a custom alphabet, providing more flexibility.
Added clear prompts to guide the user through the steps.
Edge Case Handling:

Improved handling of large key values by using modulo operation to wrap around the alphabet.
Ensured that the cipher works correctly even when the key is larger than the length of the alphabet.

@algorithms-keeper
Copy link

Closing this pull request as invalid

@UdayBadola, this pull request is being closed as none of the checkboxes have been marked. It is important that you go through the checklist and mark the ones relevant to this pull request. Please read the Contributing guidelines.

If you're facing any problem on how to mark a checkbox, please read the following instructions:

  • Read a point one at a time and think if it is relevant to the pull request or not.
  • If it is, then mark it by putting a x between the square bracket like so: [x]

NOTE: Only [x] is supported so if you have put any other letter or symbol between the brackets, that will be marked as invalid. If that is the case then please open a new pull request with the appropriate changes.

@algorithms-keeper algorithms-keeper bot added the awaiting reviews This PR is ready to be reviewed label Oct 19, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

awaiting reviews This PR is ready to be reviewed invalid

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant