From 1adbc20180f3c77a1bfacdd639e1daed59270de6 Mon Sep 17 00:00:00 2001 From: annnieglez Date: Sun, 23 Feb 2025 21:39:45 +0100 Subject: [PATCH 1/2] lab done --- lab-python-error-handling.ipynb | 136 ++++++++++++++++++++++++++++++-- 1 file changed, 131 insertions(+), 5 deletions(-) diff --git a/lab-python-error-handling.ipynb b/lab-python-error-handling.ipynb index 3e50ef8..35bbedd 100644 --- a/lab-python-error-handling.ipynb +++ b/lab-python-error-handling.ipynb @@ -41,18 +41,144 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "cc2c441d-9dcf-4817-b097-cf6cbe440846", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "4.6\n", + "0.6\n", + "5.2\n", + "1.3\n" + ] + } + ], "source": [ - "# your code goes here" + "# your code goes here\n", + "\n", + "def addition(a: float, b:float) -> float:\n", + " return round(a+b, 1)\n", + "\n", + "def subtraction(a: float, b:float) -> float:\n", + " return round(a-b, 1)\n", + "\n", + "def multiplication(a: float, b:float) -> float:\n", + " return round(a*b, 1)\n", + "\n", + "def division(a: float, b:float) -> float:\n", + " return round(a/b, 1)\n", + "\n", + "def calculate(a: float, b: float, operand: str) -> float:\n", + " try:\n", + " while True:\n", + " if operand == \"+\":\n", + " result = addition(a, b)\n", + " break\n", + " elif operand == \"-\":\n", + " result = subtraction(a, b)\n", + " break\n", + " elif operand == \"*\":\n", + " result = multiplication(a, b)\n", + " break\n", + " elif operand == \"/\":\n", + " result = division(a, b)\n", + " break\n", + " else:\n", + " print(\"Enter a valid operator\") \n", + " except:\n", + " print(\"Enter a valid value\")\n", + " return result\n", + "\n", + "print(calculate(2.6,2,\"+\"))\n", + "print(calculate(2.6,2,\"-\"))\n", + "print(calculate(2.6,2,\"*\"))\n", + "print(calculate(2.6,2,\"/\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "19ecaea2", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "16.6\n", + "-11.4\n", + "can't multiply sequence by non-int of type 'float'\n", + "float division by zero\n" + ] + } + ], + "source": [ + "# your code goes here\n", + "# your code goes here\n", + "\n", + "def addition(*args) -> float:\n", + " try:\n", + " result = args[0]\n", + " for num in args[1:]:\n", + " result += num\n", + " return round(result,1)\n", + " except TypeError as e:\n", + " return e\n", + "\n", + "def subtraction(*args) -> float:\n", + " try:\n", + " result = args[0]\n", + " for num in args[1:]:\n", + " result-=num\n", + " return round(result,1)\n", + " except TypeError as e:\n", + " return e\n", + "\n", + "def multiplication(*args) -> float:\n", + " try:\n", + " result = args[0]\n", + " for num in args[1:]:\n", + " result*=num\n", + " return round(result,1)\n", + " except TypeError as e:\n", + " return e\n", + "\n", + "def division(*args) -> float:\n", + " try:\n", + " result = args[0]\n", + " for num in args[1:]:\n", + " result/=num\n", + " return round(result,3)\n", + " except ZeroDivisionError as e:\n", + " return e\n", + "\n", + "def calculate(*args) -> float:\n", + " while True:\n", + " if args[-1] == \"+\":\n", + " return addition(*args[:-1])\n", + " elif args[-1] == \"-\":\n", + " return subtraction(*args[:-1])\n", + " elif args[-1] == \"*\":\n", + " return multiplication(*args[:-1])\n", + " elif args[-1] == \"/\":\n", + " return division(*args[:-1])\n", + " else:\n", + " print(\"Enter a valid operator\") \n", + " \n", + "\n", + "print(calculate(2.6,2,3,4,5,\"+\"))\n", + "print(calculate(2.6,2,3,4,5,\"-\"))\n", + "print(calculate(2.6,2,\"3\",4,5,\"*\"))\n", + "print(calculate(2.6,2,0,4,5,\"/\"))\n" ] } ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": "Python 3", "language": "python", "name": "python3" }, @@ -66,7 +192,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.13" + "version": "3.13.2" } }, "nbformat": 4, From 1be778248b7c4fef07b0c00e62407c68e3e8d48d Mon Sep 17 00:00:00 2001 From: annnieglez Date: Sun, 23 Feb 2025 21:49:38 +0100 Subject: [PATCH 2/2] lab done2 --- lab-python-error-handling.ipynb | 74 +++++++++++++++++---------------- 1 file changed, 39 insertions(+), 35 deletions(-) diff --git a/lab-python-error-handling.ipynb b/lab-python-error-handling.ipynb index 35bbedd..da23fbf 100644 --- a/lab-python-error-handling.ipynb +++ b/lab-python-error-handling.ipynb @@ -41,7 +41,7 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 11, "id": "cc2c441d-9dcf-4817-b097-cf6cbe440846", "metadata": {}, "outputs": [ @@ -49,10 +49,10 @@ "name": "stdout", "output_type": "stream", "text": [ - "4.6\n", + "Enter a valid value\n", "0.6\n", "5.2\n", - "1.3\n" + "Can not divide by zero\n" ] } ], @@ -76,26 +76,30 @@ " while True:\n", " if operand == \"+\":\n", " result = addition(a, b)\n", - " break\n", + " return result\n", " elif operand == \"-\":\n", " result = subtraction(a, b)\n", - " break\n", + " return result\n", " elif operand == \"*\":\n", " result = multiplication(a, b)\n", - " break\n", + " return result\n", " elif operand == \"/\":\n", - " result = division(a, b)\n", - " break\n", + " if b == 0:\n", + " raise ZeroDivisionError\n", + " else:\n", + " result = division(a, b)\n", + " return result\n", " else:\n", " print(\"Enter a valid operator\") \n", + " except ZeroDivisionError:\n", + " return(\"Can not divide by zero\")\n", " except:\n", - " print(\"Enter a valid value\")\n", - " return result\n", + " return(\"Enter a valid value\")\n", "\n", - "print(calculate(2.6,2,\"+\"))\n", + "print(calculate(2.6,\"a\",\"+\"))\n", "print(calculate(2.6,2,\"-\"))\n", "print(calculate(2.6,2,\"*\"))\n", - "print(calculate(2.6,2,\"/\"))" + "print(calculate(2.6,0,\"/\"))" ] }, { @@ -110,13 +114,13 @@ "text": [ "16.6\n", "-11.4\n", - "can't multiply sequence by non-int of type 'float'\n", - "float division by zero\n" + "Enter a valid value\n", + "Division by zero is not possible\n", + "Enter a valid operator\n" ] } ], "source": [ - "# your code goes here\n", "# your code goes here\n", "\n", "def addition(*args) -> float:\n", @@ -125,8 +129,8 @@ " for num in args[1:]:\n", " result += num\n", " return round(result,1)\n", - " except TypeError as e:\n", - " return e\n", + " except TypeError:\n", + " return \"Enter a valid value\"\n", "\n", "def subtraction(*args) -> float:\n", " try:\n", @@ -134,8 +138,8 @@ " for num in args[1:]:\n", " result-=num\n", " return round(result,1)\n", - " except TypeError as e:\n", - " return e\n", + " except TypeError:\n", + " return \"Enter a valid value\"\n", "\n", "def multiplication(*args) -> float:\n", " try:\n", @@ -143,8 +147,8 @@ " for num in args[1:]:\n", " result*=num\n", " return round(result,1)\n", - " except TypeError as e:\n", - " return e\n", + " except TypeError:\n", + " return \"Enter a valid value\"\n", "\n", "def division(*args) -> float:\n", " try:\n", @@ -152,27 +156,27 @@ " for num in args[1:]:\n", " result/=num\n", " return round(result,3)\n", - " except ZeroDivisionError as e:\n", - " return e\n", + " except ZeroDivisionError:\n", + " return \"Division by zero is not possible\"\n", "\n", "def calculate(*args) -> float:\n", - " while True:\n", - " if args[-1] == \"+\":\n", - " return addition(*args[:-1])\n", - " elif args[-1] == \"-\":\n", - " return subtraction(*args[:-1])\n", - " elif args[-1] == \"*\":\n", - " return multiplication(*args[:-1])\n", - " elif args[-1] == \"/\":\n", - " return division(*args[:-1])\n", - " else:\n", - " print(\"Enter a valid operator\") \n", + " if args[-1] == \"+\":\n", + " return addition(*args[:-1])\n", + " elif args[-1] == \"-\":\n", + " return subtraction(*args[:-1])\n", + " elif args[-1] == \"*\":\n", + " return multiplication(*args[:-1])\n", + " elif args[-1] == \"/\":\n", + " return division(*args[:-1])\n", + " else:\n", + " return \"Enter a valid operator\"\n", " \n", "\n", "print(calculate(2.6,2,3,4,5,\"+\"))\n", "print(calculate(2.6,2,3,4,5,\"-\"))\n", "print(calculate(2.6,2,\"3\",4,5,\"*\"))\n", - "print(calculate(2.6,2,0,4,5,\"/\"))\n" + "print(calculate(2.6,2,0,4,5,\"/\"))\n", + "print(calculate(2.6,2,3,4,5,\"9\"))\n" ] } ],