Python for i in range float

Как на питоне с помощью for i in range (с range от 0 до 10) вывести 40 чисел?
Если float нельзя в range засунуть.


Ответы (5 шт):

Автор решения: Zhihar

для 40 чисел и цикл нужен с 40 шагами

другое дело, что 40 чисел легко уместить в заданный диапазон значений

for i in range(0, 40):
    print(10 * i / 40)

более универсально:

l = -10
r = 30
steps = 40

for i in range(steps):
    print(l + i * (r - l) / (steps - 1))

P.S.

ну если нужно конкретно range(10), то тогда например так:

for i in range(10):
    print((i * 4 + 0) / 4)
    print((i * 4 + 1) / 4)
    print((i * 4 + 2) / 4)
    print((i * 4 + 3) / 4)

или так:

value = 0

while value < 10:
    print(value)
    value += 10 / 40
→ Ссылка
Автор решения: CrazyElf

Не очень понял, что вы хотите, но может быть так. Библиотека Numpy вообще содержит много полезных готовых функций для таких вещей.

import numpy as np

for x in np.linspace(0, 10, 40):
    print(x)

Вывод:

0.0
0.2564102564102564
0.5128205128205128
0.7692307692307692
1.0256410256410255
1.282051282051282
1.5384615384615383
1.7948717948717947
2.051282051282051
2.3076923076923075
2.564102564102564
2.8205128205128203
3.0769230769230766
3.333333333333333
3.5897435897435894
3.846153846153846
4.102564102564102
4.358974358974359
4.615384615384615
4.871794871794871
5.128205128205128
5.384615384615384
5.6410256410256405
5.897435897435897
6.153846153846153
6.41025641025641
6.666666666666666
6.9230769230769225
7.179487179487179
7.435897435897435
7.692307692307692
7.948717948717948
8.205128205128204
8.46153846153846
8.717948717948717
8.974358974358974
9.23076923076923
9.487179487179485
9.743589743589743
10.0
→ Ссылка
Автор решения: Danis
def frange(start, stop, count):
    i = start
    step = (stop - start) / count
    while i < stop:
        yield i
        i += step

for i in frange(0, 10, 40):
    print(i)
→ Ссылка
Автор решения: CrazyElf

Ну вот вариант на чистом Python:

for i in range(0, 10):
    for j in range(0, 4):
        x = (i * 4 + j) / 3.9 # или / 4, если число 10 не должно выводиться
        print(x)

Вывод:

0.0
0.25641025641025644
0.5128205128205129
0.7692307692307693
1.0256410256410258
1.2820512820512822
1.5384615384615385
1.794871794871795
2.0512820512820515
2.307692307692308
2.5641025641025643
2.8205128205128207
3.076923076923077
3.3333333333333335
3.58974358974359
3.8461538461538463
4.102564102564103
4.3589743589743595
4.615384615384616
4.871794871794872
5.128205128205129
5.384615384615385
5.641025641025641
5.897435897435898
6.153846153846154
6.410256410256411
6.666666666666667
6.923076923076923
7.17948717948718
7.435897435897436
7.6923076923076925
7.948717948717949
8.205128205128206
8.461538461538462
8.717948717948719
8.974358974358974
9.230769230769232
9.487179487179487
9.743589743589745
10.0
→ Ссылка
Автор решения: MarianD
start = 0
stop  = 10
num   = 40

[start + i * (stop-start) / num for i in range(num)]

Результат:

[0.0,
 0.25,
 0.5,
 0.75,
 1.0,
 1.25,
 1.5,
 1.75,
 2.0,
 2.25,
 2.5,
 2.75,
 3.0,
 3.25,
 3.5,
 3.75,
 4.0,
 4.25,
 4.5,
 4.75,
 5.0,
 5.25,
 5.5,
 5.75,
 6.0,
 6.25,
 6.5,
 6.75,
 7.0,
 7.25,
 7.5,
 7.75,
 8.0,
 8.25,
 8.5,
 8.75,
 9.0,
 9.25,
 9.5,
 9.75]
→ Ссылка