import numpy as np
my_array=[1,2,3,4,5]
a=np.array(my_array)
print(a)
print(a*5)
main.py
from flask import Flask, render_template, request
Flask_App = Flask(__name__) # Creating our Flask Instance
@Flask_App.route('/', methods=['GET'])
def index():
""" Displays the index page accessible at '/' """
return render_template('index.html')
@Flask_App.route('/operation_result/', methods=['POST'])
def operation_result():
"""Route where we send calculator form input"""
error = None
result = None
# request.form looks for:
# html tags with matching "name= "
first_input = request.form['Input1']
second_input = request.form['Input2']
operation = request.form['operation']
try:
input1 = float(first_input)
input2 = float(second_input)
# On default, the operation on webpage is addition
if operation == "+":
result = input1 + input2
elif operation == "-":
result = input1 - input2
elif operation == "/":
result = input1 / input2
elif operation == "*":
result = input1 * input2
else:
operation = "%"
result = input1 % input2
return render_template(
'index.html',
input1=input1,
input2=input2,
operation=operation,
result=result,
calculation_success=True
)
except ZeroDivisionError:
return render_template(
'index.html',
input1=input1,
input2=input2,
operation=operation,
result="Bad Input",
calculation_success=False,
error="You cannot divide by zero"
)
except ValueError:
return render_template(
'index.html',
input1=first_input,
input2=second_input,
operation=operation,
result="Bad Input",
calculation_success=False,
error="Cannot perform numeric operations with provided input"
)
if __name__ == '__main__':
Flask_App.debug = True
Flask_App.run(host='0.0.0.0', port=8080)
index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" type="text/css"
href="{{ url_for('static', filename='calculator.css') }}"/>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-iYQeCzEYFbKjA/T2uDLTpkwGzCiq6soy8tYaI1GyVh/UjpbCx/TYkiZhlZB6+fzT" crossorigin="anonymous">
</head>
<body>
<div class="container">
<h1 class="text-center">Python Flask Calculator</h1>
<form method="post" action="{{ url_for('operation_result') }}" id="calculator_form">
<div class="container">
<div class="form-floating mb-3">
<input type="number" class="form-control" name="Input1" id="Input1" placeholder="input the number">
<label for="floatingInput">Input the first number</label>
</div>
<div class="form-floating">
<input type="number" class="form-control"name="Input2" id="Input2" placeholder="input the number">
<label for="floatingPassword">Input the second number </label>
<br>
</div>
<br>
<label for="operation">Operation</label>
<select class="form-select" id="operation" name="operation">
<option value="+">Addition</option>
<option value="-">Subtraction</option>
<option value="/">Division</option>
<option value="*">Multiplication</option>
<option value="%">Modulus</option>
</select>
<br/>
<br>
<input type="submit" value="Submit"/>
<input type="reset" value="RESET" style="color: red;"/>
</div>
</form>
{% if calculation_success == True %}
<br/>
<p>The calculation for {{input1}} {{operation}} {{input2}} is: {{result}}</p>
{% endif %}
{% if calculation_success == False %}
<br/>
<p>{{error}}</p>
<p>{{input1}} {{operation}} {{input2}} = "{{result}}"</p>
{% endif %}
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-u1OknCvxWvY5kfmNBILK2hRnQC3Pr17a+RTT6rIHI7NnikvbZlHgTPOOmMi466C8" crossorigin="anonymous"></script>
</body>
</html>