def extract_numbers(text):
result = []
number = ""
for char in text:
if char.isdigit():
number += char
elif char in ".," and number and "." not in number:
number += "."
elif char in "+-" and not number:
number = char
else:
if number and number not in ("+", "-"):
if "." in number:
result.append(float(number))
else:
result.append(int(number))
number = ""
if number and number not in ("+", "-"):
if "." in number:
result.append(float(number))
else:
result.append(int(number))
return result