Python, что я должен использовать вместо того, пока - PullRequest
0 голосов
/ 05 марта 2019

Мне не советовали использовать цикл while, поскольку он не pythonic.Я провел некоторые исследования, и я понимаю, для большинства случаев.Мне было трудно придумать альтернативный способ для моего примера, если бы кто-нибудь мог мне помочь.

time = getTime()
while time > dt:
    doSth(dt)
    time -= dt

Как бы вы изменили это на более питонический способ?

for i in range(time//dt):
    doSth(dt)

какоб этом?

1 Ответ

0 голосов
/ 05 марта 2019

Вместо этого вы можете перебирать объект диапазона, как показано ниже, в цикле for, хотя в вашем цикле while нет ничего непитонного:

for time in range(getTime(), 0, -dt):
    doSth(dt) # or perhaps your mean to call doSth(time), since dt does not change

или, если ваша временная метка равнаплавающее число:

for i in range(getTime() // dt):
    doSth(getTime() - i * dt)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...