В моем примере, приведенном ниже, необходим ли счетчик = 0, или есть лучший, более Python, способ получить доступ к счетчику циклов? Я видел несколько PEP, связанных с счетчиками циклов, но они были либо отложены, либо отклонены (PEP 212 и PEP 281).
Это упрощенный пример моей проблемы. В моем реальном приложении это делается с графикой, и все меню должно быть перекрашено в каждый кадр. Но это демонстрирует это простым текстовым способом, который легко воспроизвести.
Возможно, мне следует добавить, что я использую Python 2.5, хотя меня все еще интересует, если есть способ, характерный для 2.6 или выше.
# Draw all the options, but highlight the selected index
def draw_menu(options, selected_index):
counter = 0
for option in options:
if counter == selected_index:
print " [*] %s" % option
else:
print " [ ] %s" % option
counter += 1
options = ['Option 0', 'Option 1', 'Option 2', 'Option 3']
draw_menu(option, 2) # Draw menu with "Option2" selected
При запуске он выдает:
[ ] Option 0
[ ] Option 1
[*] Option 2
[ ] Option 3