Si, solo convierte tu cadena a entero. input en python 3 siempre regresa un string. Y haz las comparaciones necesarias.
Código Python:
Ver originaldef datos():
often = float(input("How often do you want to print the result? (In seconds) Please, enter a value between 0.1 and 2."))
while not (0.1 <= often <= 2.0):
often = float(input("How often do you want to print the result? (In seconds) Please, enter a value between 0.1 and 2."))
Por lo que entendi, tu ciclo deberia de correr 100 veces. Siempre comparas contra often por lo que nunca tendras el efecto deseado.
Código Python:
Ver originalfor i in range(100):
print("hola")
time.sleep(often)