Верхняя граница range(..)
равна эксклюзив (то есть перечислено , а не ), поэтому вам нужно добавить один шаг к функции range(..)
:
for i in range(0,<b>11</b>):
b = i*(1.0/10)
print b
При этом, если вы хотите создать такой массив, вы можете использовать numpy.arange(..)
:
>>> import numpy as np
>>> np.arange(0, 1.1, 0.1)
array([0. , 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1. ])
Это позволяет вамчтобы указать значения с плавающей точкой для параметра offset, end и step.
Что касается вашего второго вопроса, вы можете itertools.chain
итерировать вместе, например:
from itertools import chain
for i in chain(range(0, 11), range(10, -1, -1)):
print(i/10.0)
Здесь у нас, таким образом, один range(..)
, который повторяется от 0
до 10
(оба включительно), и один, который повторяется от 10
до 0
(оба включительно).