Brainfuck+10

Brainfuck+10 is a language created by User:Watermelyn. It is like Brainfuck but it has 10 more commands that may or may not be useful depending on how you are using them.
Name is inspired by Brainfuck+3 because I didn't know what else to call it.
==Commands==
Command	Description
> 	Move the pointer to the right
< 	Move the pointer to the left
+ 	Increment the memory cell under the pointer
- 	Decrement the memory cell under the pointer
. 	Output the character signified by the cell at the pointer
, 	Input a character and store it in the cell at the pointer
[ 	Jump past the matching ] if the cell under the pointer is 0
] 	Jump back to the matching [ if the cell under the pointer is nonzero
$ 	Start and end a comment, no code between 2 of these will run.
e 	Exit the program.
r 	Reset the cell under the pointer to 0
# 	Output the value of the cell under the pointer
/ 	Input an integer and set the value of the cell under the pointer to that integer
A 	Set the cell under the pointer to 65 (Capital A).
a 	Set the cell under the pointer to 97 (Lowercase a).
Z 	Set the cell under the pointer to 90 (Capital Z).
z 	Set the cell under the pointer to 122 (Lowercase z).
5 	Set the cell under the pointer to 53 (5).
==Examples==
=== Hello World ===
A+++++++.a++++.+++++++..+++.5---------------------.Z---.z-----------.+++.------.a+++.5--------------------.
=== Truth Machine ===
/[#]#
But if you would like, normal BF code would work too.
Everything from BF should also work in BF+10.
==Implementations==
This is my implementation, created and (not very well) tested in python.
import sys
def is_integer(n):
 try:
 float(n)
 except ValueError:
 return False
 else:
 return float(n).is_integer()
def run(prg: str):
 comment = 0
 prgPos = 0
 mem = [0]
 memPos = 0
 while prgPos < len(prg):
 if prg[prgPos] == "$":
 if comment == 0:
 comment = 1
 else:
 comment = 0
 if comment == 0:
 if prg[prgPos] == ">":
 memPos += 1
 if len(mem) <= memPos:
 mem.append(0)
 elif prg[prgPos] == "<":
 memPos -= 1
 if memPos < 0:
 print("Moved off the tape! (memPos < 0)")
 sys.exit(0)
 elif prg[prgPos] == "+":
 mem[memPos] += 1
 if mem[memPos] >= 255:
 mem[memPos] = 0
 elif prg[prgPos] == "-":
 mem[memPos] -= 1
 if mem[memPos] <= -1:
 mem[memPos] = 255
 elif prg[prgPos] == ".":
 print(chr(mem[memPos]), end="")
 elif prg[prgPos] == "#":
 print(mem[memPos], end="")
 elif prg[prgPos] == ",":
 inp = input("Input >")
 if inp == "":
 mem[memPos] = 0
 else:
 mem[memPos] = ord(inp[0])
 elif prg[prgPos] == "/":
 inp = input("Input >")
 if is_integer(inp):
 if int(inp) > 255:
 mem[memPos] = 255
 elif int(inp) < 0:
 mem[memPos] = 0
 else:
 mem[memPos] = int(inp)
 elif prg[prgPos] == "[":
 if mem[memPos] == 0:
 countOpened = 0
 prgPos+= 1
 while prgPos<len(prg):
 if prg[prgPos] == "]" and countOpened == 0:
 break
 elif prg[prgPos] == "[":
 countOpened += 1
 elif prg[prgPos] == "]":
 countOpened -= 1
 prgPos += 1
 elif prg[prgPos] == "]":
 if mem[memPos] != 0:
 countClosed = 0
 prgPos -= 1
 while prgPos >= 0:
 if prg[prgPos] == "[" and countClosed == 0:
 break
 elif prg[prgPos] == "]":
 countClosed += 1
 elif prg[prgPos] == "[":
 countClosed -= 1
 prgPos -= 1
 elif prg[prgPos] == "e":
 sys.exit(0)
 elif prg[prgPos] == "r":
 mem[memPos] = 0
 elif prg[prgPos] == "A":
 mem[memPos] = 65
 elif prg[prgPos] == "a":
 mem[memPos] = 97
 elif prg[prgPos] == "Z":
 mem[memPos] = 90
 elif prg[prgPos] == "z":
 mem[memPos] = 122
 elif prg[prgPos] == "5":
 mem[memPos] = 53
 prgPos += 1
Category:Languages 
Category:Brainfuck derivatives
Category:Turing complete
Category:Low-level
Category:Implemented
Category:Cell-based
Category:2022