Skip to content

Python assignment 1 submission#1

Open
nourbazzi wants to merge 2 commits intomainfrom
assignment-1
Open

Python assignment 1 submission#1
nourbazzi wants to merge 2 commits intomainfrom
assignment-1

Conversation

@nourbazzi
Copy link
Copy Markdown
Owner

What changes are you trying to make? (e.g. Adding or removing code, refactoring existing code, adding reports)

I created an anagram_checker function that checks whether two words are anagrams. I first made a simple version with two arguments, then added a second version with a third argument to control whether the function should be case sensitive. I also added concise comments and docstrings to document the code clearly.

What did you learn from the changes you have made?

I learned how to build a function that compares two words by checking the number of times each letter appears. I also learned how to use boolean arguments to change how a function behaves, and how comments and docstrings can make code easier to understand.

Was there another approach you were thinking about making? If so, what approach(es) were you thinking of?

I considered using the sorted() function to compare the letters in each word, but I chose not to use it so the solution would stay simpler and show the logic more directly.

Were there any challenges? If so, what issue(s) did you face? How did you overcome it?

One challenge was making the function work both with and without case sensitivity. Another was finding a simple method that did not use sorted() but still checked the words correctly. I solved this by comparing the count of each letter in both words.

How were these changes tested?

I tested the function using different word pairs, including words that are anagrams and words that are not. I also tested cases where capitalization changes the result depending on whether case sensitivity is turned on or off.

A reference to a related issue in your repository (if applicable)

Checklist

  • [Yes] I can confirm that my changes are working as intended

Copy link
Copy Markdown

@juliagallucci juliagallucci left a comment

Choose a reason for hiding this comment

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

Good. One note for improvement is that using word_a.count(letter) inside a loop is inefficient for long words, since it repeatedly scans the string; using sorted(word_a) == sorted(word_b) or collections.Counter would be much faster and simpler!

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