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
339 changes: 339 additions & 0 deletions homeworks/IB_intermediate_exercise.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,339 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## ❌ DO NOT EDIT - MAKE A COPY\n",
"# Q1: Alphabet Slices\n",
"* Store the first ten letters of the alphabet in a list.\n",
"* Use a slice to print out the first three letters of the alphabet.\n",
"* Use a slice to print out any three letters from the middle of your list."
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"first 10ABCDEFGHIJ, first 3ABC, any in the middle EFG\n"
]
}
],
"source": [
"# Solve Alphabet slices here. \n",
"## Extra Credit: Do this without 'hard coding' the alpahbet.\n",
"\n",
"import string\n",
"\n",
"first_10 = string.ascii_uppercase[:10]\n",
"first_3 = first_10[:3]\n",
"mid = first_10[4:7]\n",
"print (f\"first 10{first_10}, first 3{first_3}, any in the middle {mid}\")\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Q2: Covert all the rapper names to title case and save them into a new different list. \n",
"Example: **lil wayne** becomes **Lil Wayne**"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"['Lil wayne', 'Nicki minaj', 'Drake']\n"
]
}
],
"source": [
"# Solve rapper names here\n",
"rappers = ['lil wayne', 'nicki minaj', 'drake']\n",
"cap = [rapper.capitalize() for rapper in rappers]\n",
"print (cap)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Q3: Write a function that takes a number and returns:\n",
"* True if the input number is even.\n",
"* False if the input number is odd."
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"True\n",
"False\n"
]
}
],
"source": [
"# Solve problem here\n",
"\n",
"def even_odd(lst):\n",
" if lst % 2 == 0 :\n",
" return True\n",
" else:\n",
" return False\n",
"\n",
"print (even_odd(2))\n",
"print (even_odd(3))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Q4: Find the sum and the average of this list of numbers.\n",
"\n",
"Try doing this using a loop. Then try doing this without using a loop. "
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"353 35.3\n"
]
}
],
"source": [
"# Solve problem here:\n",
"\n",
"my_list = [1, 5, 10, 55, 88, 44, 42, 50, 20, 38]\n",
"list_sum = sum(my_list)\n",
"list_avg = list_sum/ len(my_list)\n",
"\n",
"\n",
"# Keep this as your last line in this cell.\n",
"print(list_sum, list_avg)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Q5: \n",
"## Write a function that takes a list and returns a new list that has all the duplicates removed.\n",
"\n",
"Example input and expected output:\n",
"- input = `[\"Michele\", \"Robin\", \"Sara\", \"Michele\"]`\n",
"- expected output = `['Michele', 'Robin', 'Sara']`\n"
]
},
{
"cell_type": "code",
"execution_count": 29,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"{'Robin', 'Sara', 'Michele'}\n"
]
}
],
"source": [
"# Solve problem here:\n",
"\n",
"names = [\"Michele\", \"Robin\", \"Sara\", \"Michele\"]\n",
"cleaned_names=set(names)\n",
"print(cleaned_names)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Q6: Write a function that takes a list of numbers \n",
"(for example, `a = [5, 10, 15, 20, 25]`) and returns a new list of only the first and last elements of the given list.\n",
"\n",
"Example input and expected output:\n",
"- input = `[5, 10, 15, 20, 25]`\n",
"- expected output = `[5, 25]`"
]
},
{
"cell_type": "code",
"execution_count": 34,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(5, 25)"
]
},
"execution_count": 34,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Solve problem here:\n",
"input_list = [5, 10, 99, 20, 25]\n",
"def high_low(list):\n",
" return list[0], list[len(list)-1]\n",
"\n",
"high_low(input_list)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Q7: \n",
"## Implement a function that takes as input three variables, and returns the largest of the three. \n",
"### Try doing this without using the `max()` function!\n",
"\n",
"_**Note:** all three input numbers will always be different, no need to account for a tie._\n",
"\n",
"Example input and expected output:\n",
"- input: `your_function(1, 5, 10)`\n",
"- expected output: `10`"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# Solve Problem here:\n",
"\n",
"def my_max(a, b, c):\n",
" list = (a,b,c)\n",
" sort_list= sorted(list)\n",
" return sort_list[-1]"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"10"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# Test to see if your function works properly.\n",
"my_max(1, 5, 10)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Q8: Write a function that takes a number as input and returns the following:\n",
"* If the input is divisible by three, return `'fizz'`\n",
"* If the input is divisible by five, return `'buzz'`\n",
"* If the input is divisible by three and by five, return `'fizzbuzz'`\n",
"* If the input is not divisible by three or five, return `None`."
]
},
{
"cell_type": "code",
"execution_count": 42,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"fizz\n",
"buzz\n",
"fizzbuzz\n",
"None\n",
"fizzbuzz\n",
"fizz\n",
"buzz\n",
"None\n"
]
}
],
"source": [
"# Solve Problem fizzbuzz here:\n",
"def Q8(num):\n",
" if num % 3 == 0 and num % 5 == 0:\n",
" return 'fizzbuzz'\n",
" elif num % 3 == 0:\n",
" return 'fizz'\n",
" elif num % 5 == 0:\n",
" return 'buzz'\n",
" else:\n",
" return \"None\"\n",
" \n",
"print(Q8(3)) \n",
"print(Q8(5)) \n",
"print(Q8(15)) \n",
"print(Q8(7)) \n",
"print(Q8(30)) \n",
"print(Q8(9)) \n",
"print(Q8(10)) \n",
"print(Q8(8)) "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.1"
}
},
"nbformat": 4,
"nbformat_minor": 4
}