Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
184 changes: 165 additions & 19 deletions 02_activities/assignments/assignment_1.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -56,34 +56,95 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 9,
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"True\n",
"False\n",
"True\n"
]
}
],
"source": [
"def anagram_checker(str1, str2):\n",
" # Normalize both strings: lowercase and strip spaces\n",
" str1 = str1.replace(\" \", \"\").lower()\n",
" str2 = str2.replace(\" \", \"\").lower()\n",
" \n",
" # Compare sorted characters\n",
" return sorted(str1) == sorted(str2)\n",
"\n",
"\n",
"# Example tests\n",
"print(anagram_checker(\"Silent\", \"listen\")) # True\n",
"print(anagram_checker(\"Silent\", \"Night\")) # False\n",
"print(anagram_checker(\"night\", \"Thing\")) # True\n"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"True\n"
]
}
],
"source": [
"# For testing purposes, we will write our code in the function\n",
"def anagram_checker(word_a, word_b):\n",
" # Your code here\n",
" # Normalize to lowercase and remove spaces\n",
" word_a = word_a.replace(\" \", \"\").lower()\n",
" word_b = word_b.replace(\" \", \"\").lower()\n",
" \n",
" # Compare sorted characters\n",
" return sorted(word_a) == sorted(word_b)\n",
"\n",
"\n",
"# Run your code to check using the words below:\n",
"anagram_checker(\"Silent\", \"listen\")"
"print(anagram_checker(\"Silent\", \"listen\")) # Expected: True\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 11,
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"False\n"
]
}
],
"source": [
"anagram_checker(\"Silent\", \"Night\")"
"print(anagram_checker(\"Silent\", \"Night\"))\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 12,
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"True\n"
]
}
],
"source": [
"anagram_checker(\"night\", \"Thing\")"
"print(anagram_checker(\"night\", \"Thing\"))\n"
]
},
{
Expand All @@ -97,24 +158,109 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"True\n",
"False\n",
"True\n",
"False\n"
]
}
],
"source": [
"def anagram_checker(word_a, word_b, is_case_sensitive=False):\n",
" # Remove spaces\n",
" word_a = word_a.replace(\" \", \"\")\n",
" word_b = word_b.replace(\" \", \"\")\n",
" \n",
" # Apply case sensitivity rule\n",
" if not is_case_sensitive:\n",
" word_a = word_a.lower()\n",
" word_b = word_b.lower()\n",
" \n",
" # Compare sorted characters\n",
" return sorted(word_a) == sorted(word_b)\n",
"\n",
"\n",
"# Tests\n",
"print(anagram_checker(\"Silent\", \"listen\")) # True (default, not case-sensitive)\n",
"print(anagram_checker(\"Silent\", \"listen\", is_case_sensitive=True)) # False (case-sensitive)\n",
"print(anagram_checker(\"night\", \"Thing\")) # True\n",
"print(anagram_checker(\"Night\", \"Thing\", is_case_sensitive=True)) # False\n"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"True\n"
]
}
],
"source": [
"def anagram_checker(word_a, word_b, is_case_sensitive):\n",
" # Modify your existing code here\n",
" # Remove spaces\n",
" word_a = word_a.replace(\" \", \"\")\n",
" word_b = word_b.replace(\" \", \"\")\n",
" \n",
" # Apply case sensitivity rule\n",
" if not is_case_sensitive:\n",
" word_a = word_a.lower()\n",
" word_b = word_b.lower()\n",
" \n",
" # Compare sorted characters\n",
" return sorted(word_a) == sorted(word_b)\n",
"\n",
"\n",
"# Run your code to check using the words below:\n",
"anagram_checker(\"Silent\", \"listen\", False) # True"
"print(anagram_checker(\"Silent\", \"listen\", False)) # Expected: True\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 15,
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"False\n"
]
}
],
"source": [
"anagram_checker(\"Silent\", \"Listen\", True) # False"
"print(anagram_checker(\"Silent\", \"Listen\", True))\n"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"True"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"anagram_checker(\"Silent\", \"listen\", False) # True"
]
},
{
Expand All @@ -130,7 +276,7 @@
],
"metadata": {
"kernelspec": {
"display_name": "new-learner",
"display_name": "dsi_participant",
"language": "python",
"name": "python3"
},
Expand All @@ -144,7 +290,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.11.8"
"version": "3.9.19"
}
},
"nbformat": 4,
Expand Down