0

Вопрос из разряда нуб, но как задать массив вещественных чисел, в котором будут числа изменяющиеся до сотых? И реально ли такое? (Т.е. последовательность типа -1.00, -0.99, -0.98....1.00) Я попробовал нечто подобное, но не получилось mas = list(range(-1.00, 1.01))

etoya
  • 41
  • 1
  • 10

3 Answers3

2

Вот функция принимающая начальное и конечное значения, а также число знаков после запятой

def real_numbers(fromNumber, toNumber, precision):
    multiplier = 10**precision
    return map(lambda x: x / multiplier, range(fromNumber*multiplier, toNumber*multiplier+1))

list(real_numbers(-1, 1, 2)) # для вашей задачи вызов выглядит так
Denis
  • 398
1

Несколько извращенский, но точный способ :)

from decimal import Decimal

result = [float(Decimal(i) / 100) for i in range(-100, 101)]
1

Как вариант:

import numpy
x = numpy.arange(-1, 1.01, 0.01)
for i in x:
  print("%.2f" % i)