Ошибка, которую вы получаете, возникает, как только вы пытаетесь преобразовать ваш строковый ввод в число с плавающей запятой в одной из следующих строк:
num1 = float(input("Enter first number:"))
num2 = float(input("Enter second number:"))
Я бы посоветовал вам изменить функцию divede на следующую:
def divede():
while True:
try:
num1 = float(input("Enter first number:"))
num2 = float(input("Enter second number:"))
return num1, num2
except(ValueError):
print("Please provide two integers or floats")
Цикл while гарантирует, что пользователя попросят повторить ввод, пока он фактически не предоставит два числа. С исключением (ValueError), чтобы поймать только конкретные ошибки, которые вы хотите. Затем вам также нужно изменить оставшуюся часть скрипта следующим образом:
while True:
if num2 != 0:
print(f"{num1} / {num2} is {num1 / num2}")
break
else:
print("Please do not divede by zero")
num1, num2 = divede()