Я стремлюсь создать динамический диапазон цикла питона.Я знаю, однажды конечный диапазон вычисляется только один раз, когда он передается в качестве аргумента генератору диапазона.Однако, это пример:
i = 1
for i in range(1,i,1):
print i
i = i +1
очевидно, что при i=1
цикл пропускается.Но я хочу как-то, чтобы этот диапазон динамически изменялся в соответствии с параметром i
.
Это мой случай, когда я хочу использовать динамический диапазон:
- Я рассчитываю емкостьссылка
- Я вычисляю пропускную способность на этой ссылке
- Я делаю цикл с увеличением передаваемого трафика, который должен быть равен емкости, я называю это значением перегрузки.
- Увеличение диапазона начинается с 1 до значения перегрузки.
Это значение перегрузки вычисляется каждый раз на каждой итерации и обновляет диапазон.Если, скажем, теоретически значение перегрузки равно 20, то диапазон увеличивается до 20.
Это мой код:
capacity = Router_1.get_tunnel_capacity()
tunnel_bandwidth = Router_1.check_bandwidth_overload()
if tunnel_bandwidth <= capacity:
for bandwidth in range(1, range_end, 1):
os.system('iperf -c ' + server_address + ' -u -p 50001 -b ' + str(bandwidth) + 'M -i 1')
tunnel_bandwidth = Router_1.check_bandwidth_overload()
if tunnel_bandwidth <= capacity:
# update the range_end according to tunnel_bandwidth
range_end
- это динамическое значение диапазона.Есть ли способ сделать его динамичным?