Skip to content

Add completed assignment_1 notebook#1

Open
alf-99 wants to merge 1 commit intomainfrom
assignment-1
Open

Add completed assignment_1 notebook#1
alf-99 wants to merge 1 commit intomainfrom
assignment-1

Conversation

@alf-99
Copy link
Copy Markdown
Owner

@alf-99 alf-99 commented Nov 29, 2025

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

  • [x ] I can confirm that my changes are working as intended
  • [x ] I have tested the function with a variety of word pairs, including case-sensitive and case-insensitive scenarios

Copy link
Copy Markdown

@xindizhang xindizhang left a comment

Choose a reason for hiding this comment

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

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:

  1. 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

  1. For part 2, to reduce duplication, I suggest you consider moving the sorting and comparison logic outside the if-else block

Please feel free to let me know ifyou ahev any questions.

alf-99 pushed a commit that referenced this pull request Dec 8, 2025
alf-99 pushed a commit that referenced this pull request Dec 8, 2025
Update live code and assignment #1
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.

2 participants