In meinem Beispiel-Code ist der Zähler = 0 wirklich erforderlich, oder gibt es eine bessere, mehr Python, um Zugriff auf einen Schleifenzähler erhalten? Ich sah ein paar PEPs, die sich auf Schleifenzähler bezogen, aber sie wurden entweder zurückgestellt oder zurückgewiesen (PEP 212 und PEP 281).Python-Schleife Zähler in einer for-Schleife
Dies ist ein vereinfachtes Beispiel für mein Problem. In meiner realen Anwendung wird dies mit Grafiken gemacht und das ganze Menü muss jeden Frame neu gemalt werden. Aber das zeigt es in einem einfachen Text, der einfach zu reproduzieren ist.
Vielleicht sollte ich auch hinzufügen, dass ich Python 2.5 verwende, obwohl ich immer noch interessiert bin, ob es einen Weg gibt, der spezifisch für 2.6 oder höher ist.
# 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
Wenn er gestartet wird, gibt sie:
[ ] Option 0
[ ] Option 1
[*] Option 2
[ ] Option 3
können Sie einfach die Array-Länge-Eigenschaft verwenden, statt der in Schleife Methode, für i
Jim
mögliches Duplikat von [Zugriff auf den Index in Python für Schleifen] (http://stackoverflow.com/questions/522563/accessing-the-index-in-python-for-loops) –