Каков наилучший способ сделать это в Python?
for (v = n / 2 - 1; v >= 0; v--)
Сначала я попробовал Google, но, насколько я понимаю, единственным решением было бы использовать while.
while
Я бы сделал это:
for i in reversed(range(n // 2)): # Your code pass
Немного яснее, что это обратная последовательность, каков нижний предел и каков верхний предел.
Способ сделать это с помощью xrange():
xrange()
for v in xrange(n // 2 - 1, -1, -1):
(Или, в Python 3.x, с range() вместо xrange().) // - это разделение полов, что позволяет получить целое число.
range()
//
for v in range(n//2, -1, -1)
Однако в 90% случаев, когда вы бы использовали цикл for в C / Java / C # / VB, вам действительно нужно понимание списка :
for
listOfStuff = [doSomethingWith(v) for v in range(n//2, -1, -1)]
for v in xrange(n/2 - 1, 0, -1): #your code here
Где v и n равны int с или рассматриваются как int с. Это означает, что деление будет целочисленным делением, то есть 1/2 == 0 is True.
int
1/2 == 0 is True
Примечание: это для Python 2.x.