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]