Open
Conversation
xindizhang
approved these changes
Dec 1, 2025
There was a problem hiding this comment.
Excellent work! Your code is clean, well-organized, and your PR description is clear. Assignment 1 is fully complete – no changes needed.
Minor suggestions for future improvement:
- In places like:
if sorted_a == sorted_b:
return True
else:
return False
You can simplify this by directly returning the boolean expression:
return sorted_a == sorted_b
This makes the code cleaner
- For part 2, to reduce duplication, I suggest you consider moving the sorting and comparison logic outside the
if-elseblock
Please feel free to let me know ifyou ahev any questions.
alf-99
pushed a commit
that referenced
this pull request
Dec 8, 2025
Update live code and assignment #1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)
I implemented the base anagram checker that compares two strings and returns True or False based on whether they are anagrams. I also expanded the functionality by adding an optional parameter is_case_sensitive that allows the function to check anagrams with or without considering character case.
What did you learn from the changes you have made?
I learned the difference between using lower() and casefold() when normalizing text, and why casefold() is better for accurate comparisons. I also learned how to design a function with optional arguments and how to structure logic to support both case-sensitive and case-insensitive checks.
Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?
I wanted to make it more efficient by writing a single line that will have the return statement from the sorted comparison. Bt just kept it simplified for now.
Were there any challenges? If so, what issue(s) did you face? How did you overcome it?
One challenge was handling case sensitivity correctly—for example ensuring that “Silent” and “listen” match when case-insensitive mode is used, but not when case-sensitive mode is enabled. Another challenge was deciding when to apply casefold() and when to leave the input unchanged based on the is_case_sensitive flag.
How were these changes tested?
I tested the function using different pairs of words, including uppercase/lowercase variations, clear anagrams (“silent” vs “listen”), and non-anagrams. I also checked both modes of the function (is_case_sensitive=True and False) to ensure that the behavior matched the assignment requirements.
A reference to a related issue in your repository (if applicable)
Last couple of blocks of code.
Checklist