Вместо range
и for-l oop вы можете использовать while-l oop, который проверяет, меньше ли счетчик размера вашего итерируемого объекта b
.
size_of_b = len(b)
i = 0
while i < size_of_b:
# Set j to one more than i
j = i + 1
while j < size_of_b:
if b[i] < b[j]:
print(b[i] * 2)
print(b[j] * 2)
# Break out of the inner "while j" loop
break
# Increment "j" for the inner "while j" loop
j += 1
# Increment "i" for the outer "while i" loop
i += 1
Для более продвинутого способа Pythoni c вы можете использовать enumerate
встроенную функцию . Возвращает индекс и значение для каждого шага итерируемого:
# Here I'm using more descriptive variable names so it's easier to follow.
for outer_index, outer_value in enumerate(items):
# For the inner loop, we can slice the list so it starts on 1 + the outer_index
inner_index = outer_index + 1
for inner_value in items[inner_index:]:
if outer_value < inner_value:
print(outer_value * 2, inner_value * 2, sep="\n")
break