Для задачи: создать список чисел от 2 до 5,5 с step=0.5
, данные результата должны быть десятичного типа.
Я написал две функции и мне интересно почему результатыразные (например, Десятичная ('4') и Десятичная ('4.0')).
Код написан на Python 3.5 .
Вотфункции:
def generate_decimals(begin=2.0, end=5.5, step=0.5):
nums_list = list(arange(begin, end + step, step))
return [Decimal(number) for number in nums_list]
def generate_decimals2(begin=2.0, end=5.5, step=0.5):
decimals = []
num = Decimal(begin)
while num <= end:
decimals.append(num)
num += Decimal(step)
return decimals
Результат для generate_decimals ():
[Decimal('2'), Decimal('2.5'), Decimal('3'), Decimal('3.5'), Decimal('4'), Decimal('4.5'), Decimal('5'), Decimal('5.5')]
Результат для generate_decimals2 ():
[Decimal('2'), Decimal('2.5'), Decimal('3.0'), Decimal('3.5'), Decimal('4.0'), Decimal('4.5'), Decimal('5.0'), Decimal('5.5')]
Является одним из этих результатов большесоответствующий чем другие ??