Есть ли способ сжать эту пару циклов до двух или одной строки?:
for x in y:
z = 1
while x > z: z += 1
, чтобы больше походить на (помните, что это не работает):
for x in y: z = 1
while x > z: z += 1
Обратите внимание: суть не в том, чтобы разрешить фактические циклы, а просто в том, что for
l oop должен содержать переменную счетчика некоторого вида до while l oop.
Вопрос исключительно в синтаксисе, поэтому определение значения z здесь не вопрос. вместо этого код может быть таким:
for x in y:
z = 1
q = 0
while z < x:
q += 1
Или любая другая комбинация for и while l oop, где есть по крайней мере одна переменная, определенная между for
и while
, но я хочу петли уплотнены, чтобы полностью не исключить использование петель.