Dans mon exemple de code ci-dessous, le compteur = 0 est-il vraiment nécessaire, ou existe-t-il un meilleur moyen, plus Python, d'accéder à un compteur de boucle ? J'ai vu quelques PEP liés aux compteurs de boucle, mais ils ont été soit reportés, soit rejetés ( PEP 212 y PEP 281 ).
Voici un exemple simplifié de mon problème. Dans mon application réelle, cela se fait avec des graphiques et le menu entier doit être repeint à chaque image. Mais cet exemple le démontre d'une manière simple et facile à reproduire.
Peut-être devrais-je également ajouter que j'utilise Python 2.5, bien que je sois toujours intéressé s'il existe un moyen spécifique à la version 2.6 ou supérieure.
# 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
Quand il est exécuté, il sort :
[ ] Option 0
[ ] Option 1
[*] Option 2
[ ] Option 3
0 votes
Pouvez-vous simplement utiliser la propriété de longueur du tableau au lieu de la méthode for in loop, pour i < array.length ?