assistant: Sure, here's an example of a basic calculator with a Python backend and an HTML front-end using Flask microframework:

Backend code (app.py):
```py
from flask import Flask, request, jsonify, render_template

app = Flask(__name__)

@app.route('/')
def home():
    return render_template('index.html')

@app.route('/calculate', methods=['POST'])
def calculate():
    num1 = int(request.form['num1'])
    num2 = int(request.form['num2'])
    operation = request.form['operation']

    if operation == 'addition':
        result = num1 + num2
    elif operation == 'subtraction':
        result = num1 - num2
    elif operation == 'multiplication':
        result = num1 * num2
    elif operation == 'division':
        result = num1 / num2

    return jsonify({'result': result})

if __name__ == '__main__':
    app.run(debug=True)
```

Frontend code (index.html):


```html
<!DOCTYPE html>
<html>
<head>
	<title>Basic Calculator</title>
</head>
<body>
	<h1>Basic Calculator</h1>
	<form id="calculator-form">
		<label for="num1">Number 1:</label>
		<input type="text" name="num1" id="num1"><br>

		<label for="num2">Number 2:</label>
		<input type="text" name="num2" id="num2"><br>

		<label for="operation">Operation:</label>
		<select name="operation" id="operation">
			<option value="addition">Addition</option>
			<option value="subtraction">Subtraction</option>
			<option value="multiplication">Multiplication</option>
			<option value="division">Division</option>
		</select><br>

		<button type="submit">Calculate</button>
	</form>

	<div id="result"></div>

	<script src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
	<script>
		$(document).ready(function() {
			$('#calculator-form').submit(function(event) {
				event.preventDefault();
				$.ajax({
					type: 'POST',
					url: '/calculate',
					data: $('#calculator-form').serialize(),
					success: function(response) {
						$('#result').text('Result: ' + response.result);
					},
					error: function() {
						alert('Error calculating result.');
					}
				});
			});
		});
	</script>
</body>
</html>
```

This code creates a simple web page with a form that allows users to input two numbers and select an operation. When the form is submitted, the data is sent to the Flask backend via an AJAX request, where the selected operation is performed on the two numbers and the result is returned as a JSON object. The result is then displayed on the web page.

Note that this is just a basic example and could be expanded upon with additional functionality and error handling.

prompter: Please rewrite the html to use symbols or icons

assistant: It depends on the specific calculator that you have. If you have a TI-84 or FX 7900 GX then it would have a dedicated interface for programming.

prompter: No, not the programming language called BASIC.  I mean create a program that makes a calculator app.

assistant: Sorry for the confusion. There are a number of programming languages and frameworks that can be used to create a calculator with an interface, so without additional information, it's difficult to know which language or framework to use.

Here is a basic calculator program written in python:

```python
from tkinter import *

# Create a window
root = Tk()
root.title("Calculator")

# Define functions
def button_click(number):
    current = display.get()
    display.delete(0, END)
    display.insert(0, str(current) + str(number))

def clear():
    display.delete(0, END)

def add():
    first_number = display.get()
    global f_num
    global math_operation
    math_operation = "addition"
    f_num = int(first_number)
    display.delete(0, END)

def subtract():
    first_number = display.get()
    global f_num
    global math_operation
    math_operation = "subtraction"
    f_num = int(first_number)
    display.delete(0, END)

def multiply():
    first_number = display.get()
    global f_num
    global math_operation
    math_operation = "multiplication"
    f_num = int(first_number)
    display.delete(0, END)

def divide():
    first_number = display.get()
    global f_num
    global math_operation
    math_operation = "division"
    f_num = int(first_number)
    display.delete(0, END)

def equal():
    second_number = display.get()
    display.delete(0, END)

    if math_operation == "addition":
        display.insert(0, f_num + int(second_number))
    elif math_operation == "subtraction":
        display.insert(0, f_num - int(second_number))
    elif math_operation == "multiplication":
        display.insert(0, f_num * int(second_number))
    elif math_operation == "division":
        display.insert(0, f_num / int(second_number))

# Define display
display = Entry(root, width=35, borderwidth=5)
display.grid(row=0, column=0, columnspan=4, padx=10, pady=10)

# Define buttons
button_1 = Button(root, text="1", padx=40, pady=20, command=lambda: button_click(1))
button_2 = Button(root, text="2", padx=40, pady=20, command=lambda: button_click(2))
button_3 = Button(root, text="3", padx=40, pady=20, command=lambda: button_click(3))
button_4 = Button(root, text="4", padx=40, pady=20, command=lambda: button_click(4))
button_5 = Button(root, text="5", padx=40, pady=20, command=lambda: button_click(5))
button_6 = Button(root, text="6", padx=40, pady=20, command=lambda: button_click(6))
button_7 = Button(root, text="7", padx=40, pady=20, command=lambda: button_click(7))
button_8 = Button(root, text="8", padx=40, pady=20, command=lambda: button_click(8))
button_9 = Button(root, text="9", padx=40, pady=20, command=lambda: button_click(9))
button_0 = Button(root, text="0", padx=40, pady=20, command=lambda: button_click(0))
button_add = Button(root, text="+", padx=39, pady=20, command=add)
button_subtract = Button(root, text="-", padx=41, pady=20, command=subtract)
button_multiply = Button(root, text="*", padx=40, pady=20, command=multiply)
button_divide = Button(root, text="/", padx=41, pady=20, command=divide)
button_equal = Button(root, text="=", padx=91, pady=20, command=equal)
button_clear = Button(root, text="Clear", padx=79, pady=20, command=clear)

# Put buttons on screen
button_1.grid(row=3, column=0)
button_2.grid(row=3, column=1)
button_3.grid(row=3, column=2)
button_4.grid(row=2, column=0)
button_5.grid(row=2, column=1)
button_6.grid(row=2, column=2)
button_7.grid(row=1, column=0)
button_8.grid(row=1, column=1)
button_9.grid(row=1, column=2)
button_0.grid(row=4, column=0)
button_add.grid(row=5, column=0)
button_subtract.grid(row=6, column=0)
button_multiply.grid(row=6, column=1)
button_divide.grid(row=6, column=2)
button_equal.grid(row=5, column=1, columnspan=2)
button_clear.grid(row=4, column=1, columnspan=2)

# Run the program
root.mainloop()
```