Как заставить функцию range работать с float в python?

Есть арифметическая функция понимающия переменные в integer, мне нужно написать скрипт который сможет принимать float в качестве step size для данной функции. Как можно это реализовать?

x = int(raw_input("Enetr your value for the first X: "))
y = int(raw_input("Enter your value for the last X: "))
z = int(raw_input("Enter step size wanted: "))



def function(x):
	return x**2 +4 * x-4

for i in xrange(x,y,z):
	print "f({}) = {}".format(i, function(i))
  • Вопрос задан
  • 11251 просмотр
Решения вопроса 1
@lPolar
data scientist
Как вариант - модуль numpy.
import numpy as np
x=np.arange(0.01,1.00,0.01)
#x=array([ 0.01,  0.02,  0.03,  0.04,  0.05,  0.06,  0.07,  0.08,  0.09,...,1.00])
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@wing_pin
Люблю сгущенку и функциональное программирование
Если float должен быть только шаг, то достаточно взять шаг равный 1 и умножать его на требуемый шаг

for i in xrange(x,y):
	i *= z
	print "f({}) = {}".format(i, function(i))
Ответ написан
Комментировать
mututunus
@mututunus
Backend developer (Python, Golang)
def frange(end, start=0.0, step=0.1):
     i = start
     while i < end:
         yield i
         i += step
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы