Skip to content
Open
Show file tree
Hide file tree
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
235 changes: 235 additions & 0 deletions .ipynb_checkpoints/cfu-data-types-checkpoint.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,235 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# CFU | Data Types"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Working with Data Types"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Objective: Practice working with different data types and their corresponding operations."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Exercise 1: Calculate remaining salary"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"In this exercise, prompt the user to enter their personal information such as name, age, address, salary, and expenses, and then perform some calculations to determine how much money they have left after expenses. \n",
"\n",
"Use data type casting to ensure that the age, salary, and expenses are stored as integers or floats, as appropriate, and round the remaining money to one decimal. \n",
"\n",
"Use a boolean variable to indicate whether the remaining salary is greater than or equal to 500. \n",
"\n",
"Finally, you will use string formatting to print a message to the screen in the following format: \n",
"\"*name*, who is *age* years old, and lives in *address* has *remaining_salary* dollars left from her salary after expenses. It is *is_salary_good* that she has more than $500 left.\", using the mentioned variables.\n",
"\n",
"*Hint:* \n",
"- *You can use the input() function to ask the user to enter their information. Beware that input() function returns a String.*\n",
"- *You can round the remaining salary to one decimal using the round() function.*\n",
"- *Use data type conversion functions. Recommended external resources: [Data type conversion](https://www.geeksforgeeks.org/type-conversion-in-python/)*"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"name": "stdin",
"output_type": "stream",
"text": [
"Enter your name: maria\n",
"Enter your age: 38\n",
"Enter your address: street\n",
"Enter your salary: 10000\n",
"Enter your expenses: 5000\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"maria, who is 38 years old, and lives in street, has 5000.0 dollars left from their salary after expenses. It is True that they have more than $500 left.\n"
]
}
],
"source": [
"# Your code here\n",
"\n",
"user_data = {}\n",
"\n",
"fields = [\"name\", \"age\", \"address\", \"salary\", \"expenses\"]\n",
"\n",
"for field in fields:\n",
" value = input(f\"Enter your {field}: \")\n",
"\n",
" if field == \"age\":\n",
" value = int(value)\n",
" elif field in [\"salary\", \"expenses\"]:\n",
" value = float(value)\n",
" user_data[field] = value\n",
"\n",
"remaining_salary = round(user_data[\"salary\"] - user_data[\"expenses\"], 1)\n",
"is_salary_good = remaining_salary >= 500\n",
" \n",
"\n",
"print(f\"{user_data['name']}, who is {user_data['age']} years old, \"\n",
" f\"and lives in {user_data['address']}, has {remaining_salary} dollars \"\n",
" f\"left from their salary after expenses. It is {is_salary_good} \"\n",
" f\"that they have more than $500 left.\")\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"\n",
"### Exercise 2: Text Cleaning and Concatenation"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Write code that takes text from the variable `poem`, removes the punctuation and leaves everything in lowercase. \n",
"\n",
"Concatenate the resulting string with the string \"python is awesome!\" and store the result in a new variable. \n",
"\n",
"Print the length of the new string.\n",
"\n",
"Split the string into a list of strings using the space delimiter, save it in a variable `poem_list` and print it. \n",
"\n",
"*Hint:*\n",
"\n",
"- *You can use the len() function to get the length of a string.*\n",
"- *Search string methods to accomplish the other steps. Recommended External Resources: [Python String Methods](https://www.w3schools.com/python/python_ref_string.asp)*\n",
"- *Use method chaining to simplify your code. If you are not sure what it is, read this tutorial before: https://pyneng.readthedocs.io/en/latest/book/04_data_structures/method_chaining.html*\n"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"poem = \"\"\"Some say the world will end in fire,\n",
"Some say in ice.\n",
"From what I’ve tasted of desire\n",
"I hold with those who favor fire.\n",
"But if it had to perish twice,\n",
"I think I know enough of hate\n",
"To say that for destruction ice\n",
"Is also great\n",
"And would suffice.\"\"\""
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"some say the world will end in fire\n",
"some say in ice\n",
"from what i’ve tasted of desire\n",
"i hold with those who favor fire\n",
"but if it had to perish twice\n",
"i think i know enough of hate\n",
"to say that for destruction ice\n",
"is also great\n",
"and would suffice python is awesome!\n",
"259\n",
"['some', 'say', 'the', 'world', 'will', 'end', 'in', 'fire', 'some', 'say', 'in', 'ice', 'from', 'what', 'i’ve', 'tasted', 'of', 'desire', 'i', 'hold', 'with', 'those', 'who', 'favor', 'fire', 'but', 'if', 'it', 'had', 'to', 'perish', 'twice', 'i', 'think', 'i', 'know', 'enough', 'of', 'hate', 'to', 'say', 'that', 'for', 'destruction', 'ice', 'is', 'also', 'great', 'and', 'would', 'suffice', 'python', 'is', 'awesome!']\n"
]
}
],
"source": [
"# Your code here\n",
"poem = \"\"\"Some say the world will end in fire,\n",
"Some say in ice.\n",
"From what I’ve tasted of desire\n",
"I hold with those who favor fire.\n",
"But if it had to perish twice,\n",
"I think I know enough of hate\n",
"To say that for destruction ice\n",
"Is also great\n",
"And would suffice.\"\"\"\n",
"import string\n",
"my_poem = poem.lower()\n",
"\n",
"for punctuation in string.punctuation:\n",
" my_poem = my_poem.replace(punctuation, '') \n",
" \n",
"python_is_awesome = \"python is awesome!\"\n",
"\n",
"result = f\"{my_poem} {python_is_awesome}\"\n",
"\n",
"lenth = len(result)\n",
"\n",
"poem_list = result.split()\n",
"\n",
"print(result)\n",
"print(lenth)\n",
"print(poem_list)\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"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.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
115 changes: 108 additions & 7 deletions cfu-data-types.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,59 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 8,
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Enter your name: maria\n",
"Enter your age: 38\n",
"Enter your address: street\n",
"Enter your salary: 10000\n",
"Enter your expenses: 5000\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"maria, who is 38 years old, and lives in street, has 5000.0 dollars left from their salary after expenses. It is True that they have more than $500 left.\n"
]
}
],
"source": [
"# Your code here\n"
"# Your code here\n",
"\n",
"user_data = {}\n",
"\n",
"fields = [\"name\", \"age\", \"address\", \"salary\", \"expenses\"]\n",
"\n",
"for field in fields:\n",
" value = input(f\"Enter your {field}: \")\n",
"\n",
" if field == \"age\":\n",
" value = int(value)\n",
" elif field in [\"salary\", \"expenses\"]:\n",
" value = float(value)\n",
" user_data[field] = value\n",
"\n",
"remaining_salary = round(user_data[\"salary\"] - user_data[\"expenses\"], 1)\n",
"is_salary_good = remaining_salary >= 500\n",
" \n",
"\n",
"print(f\"{user_data['name']}, who is {user_data['age']} years old, \"\n",
" f\"and lives in {user_data['address']}, has {remaining_salary} dollars \"\n",
" f\"left from their salary after expenses. It is {is_salary_good} \"\n",
" f\"that they have more than $500 left.\")\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"\n"
]
},
{
Expand Down Expand Up @@ -102,12 +150,65 @@
},
{
"cell_type": "code",
"execution_count": null,
"execution_count": 18,
"metadata": {},
"outputs": [],
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"some say the world will end in fire\n",
"some say in ice\n",
"from what i’ve tasted of desire\n",
"i hold with those who favor fire\n",
"but if it had to perish twice\n",
"i think i know enough of hate\n",
"to say that for destruction ice\n",
"is also great\n",
"and would suffice python is awesome!\n",
"259\n",
"['some', 'say', 'the', 'world', 'will', 'end', 'in', 'fire', 'some', 'say', 'in', 'ice', 'from', 'what', 'i’ve', 'tasted', 'of', 'desire', 'i', 'hold', 'with', 'those', 'who', 'favor', 'fire', 'but', 'if', 'it', 'had', 'to', 'perish', 'twice', 'i', 'think', 'i', 'know', 'enough', 'of', 'hate', 'to', 'say', 'that', 'for', 'destruction', 'ice', 'is', 'also', 'great', 'and', 'would', 'suffice', 'python', 'is', 'awesome!']\n"
]
}
],
"source": [
"# Your code here\n"
"# Your code here\n",
"poem = \"\"\"Some say the world will end in fire,\n",
"Some say in ice.\n",
"From what I’ve tasted of desire\n",
"I hold with those who favor fire.\n",
"But if it had to perish twice,\n",
"I think I know enough of hate\n",
"To say that for destruction ice\n",
"Is also great\n",
"And would suffice.\"\"\"\n",
"import string\n",
"my_poem = poem.lower()\n",
"\n",
"for punctuation in string.punctuation:\n",
" my_poem = my_poem.replace(punctuation, '') \n",
" \n",
"python_is_awesome = \"python is awesome!\"\n",
"\n",
"result = f\"{my_poem} {python_is_awesome}\"\n",
"\n",
"lenth = len(result)\n",
"\n",
"poem_list = result.split()\n",
"\n",
"print(result)\n",
"print(lenth)\n",
"print(poem_list)\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
Expand All @@ -126,7 +227,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.13"
"version": "3.12.3"
}
},
"nbformat": 4,
Expand Down