Skip to content

Fix handling of non ascii characters in swap case (fixes: #3847) #3848

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

frankschmitt
Copy link
Contributor

Describe your change:

This fixes 3847 - handling of non-ASCII characters in swap_case.

Output before (buggy):
python3 swap_case.py
Please input sentence:äü
ÄäÜü

Output now (correct):
python3 swap_case.py
Please input sentence:äü
ÄÜ

  • Add an algorithm?
  • Fix a bug or typo in an existing algorithm?
  • Documentation change?

Checklist:

  • I have read CONTRIBUTING.md.
  • This pull request is all my own work -- I have not plagiarized.
  • I know that pull requests will not be merged if they fail the automated tests.
  • This PR only changes one algorithm file. To ease review, please open separate PRs for separate algorithms.
  • All new Python files are placed inside an existing directory.
  • All filenames are in all lowercase characters with no spaces or dashes.
  • All functions and variable names follow Python naming conventions.
  • All function parameters and return values are annotated with Python type hints.
  • All functions have doctests that pass the automated testing.
  • All new algorithms have a URL in its comments that points to Wikipedia or other similar explanation.
  • If this pull request resolves one or more open issues then the commit message contains Fixes: #{$ISSUE_NO}.
    => It's not contained in the commit messages, but in the PR description. I hope this will suffice. Otherwise, I can of course add a dummy commit.

@frankschmitt
Copy link
Contributor Author

I noticed that the pre-commit hook failed - apparently due to some reformatting?

Excerpt from the log:

black....................................................................Failed

  • hook id: black
  • duration: 10.08s
  • files were modified by this hook

reformatted /home/runner/work/Python/Python/strings/swap_case.py
All done! ✨ 🍰 ✨
1 file reformatted, 823 files left unchanged.

Is there any action required by me to fix this?

@mrmaxguns
Copy link
Member

Would be good if type hints were added to the function, i.e.:

from typing import Text

def swap_case(sentence: Text) -> Text:
    ...

@dhruvmanila dhruvmanila linked an issue Nov 6, 2020 that may be closed by this pull request
Copy link
Member

@dhruvmanila dhruvmanila left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for fixing this issue!

@dhruvmanila dhruvmanila merged commit c0d88d7 into TheAlgorithms:master Nov 6, 2020
stokhos pushed a commit to stokhos/Python that referenced this pull request Jan 3, 2021
…ms#3847) (TheAlgorithms#3848)

* TheAlgorithms#3847 fix handling of non-ASCII characters in swap_case

* TheAlgorithms#3847 remove unused regex

* Fix formatting (with black) Fixes: TheAlgorithms#3847

* Add type hints for `swap_case` function

Co-authored-by: Frank Schmitt <[email protected]>
Co-authored-by: Dhruv Manilawala <[email protected]>
peRFectBeliever pushed a commit to peRFectBeliever/Python that referenced this pull request Apr 1, 2021
…ms#3847) (TheAlgorithms#3848)

* TheAlgorithms#3847 fix handling of non-ASCII characters in swap_case

* TheAlgorithms#3847 remove unused regex

* Fix formatting (with black) Fixes: TheAlgorithms#3847

* Add type hints for `swap_case` function

Co-authored-by: Frank Schmitt <[email protected]>
Co-authored-by: Dhruv Manilawala <[email protected]>
Panquesito7 pushed a commit to Panquesito7/Python that referenced this pull request May 13, 2021
…ms#3847) (TheAlgorithms#3848)

* TheAlgorithms#3847 fix handling of non-ASCII characters in swap_case

* TheAlgorithms#3847 remove unused regex

* Fix formatting (with black) Fixes: TheAlgorithms#3847

* Add type hints for `swap_case` function

Co-authored-by: Frank Schmitt <[email protected]>
Co-authored-by: Dhruv Manilawala <[email protected]>
shermanhui pushed a commit to shermanhui/Python that referenced this pull request Oct 22, 2021
…ms#3847) (TheAlgorithms#3848)

* TheAlgorithms#3847 fix handling of non-ASCII characters in swap_case

* TheAlgorithms#3847 remove unused regex

* Fix formatting (with black) Fixes: TheAlgorithms#3847

* Add type hints for `swap_case` function

Co-authored-by: Frank Schmitt <[email protected]>
Co-authored-by: Dhruv Manilawala <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

swap_case doesn't correctly handle non-ASCII letters
3 participants