SORU
26 Temmuz 2009, Pazar


Python döngü için döngü sayacı

Örnek kodum aşağıda, = 0 gerçekten gerekli, ya da, daha fazla Python, bir döngü sayacı için erişim almak için iyi bir yoldur sayacı mı? Birkaç bayram ederler döngü sayaçları ile ilgili gördüm, ama ya (PEP 212 PEP 281) ertelenmiş ret edildi.

Bu benim sorunum basit bir örnektir. Benim gerçek uygulamada bu grafik ile yapılır ve tüm menü her kareyi yeniden boyanması gerekiyor. Ama bu yeniden oluşturmak için kolay ve basit metin bir şekilde gösterir.

Belki de, eğer bir şekilde 2.6 veya daha yüksek özgüdür orada hala ilgileniyorum rağmen 2.5, Python kullanıyorum bunu da belirteyim.

# 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

Çalıştırıldığında, çıkış:

 [ ] Option 0
 [ ] Option 1
 [*] Option 2
 [ ] Option 3

CEVAP
26 Temmuz 2009, Pazar


Bu yüzden: enumerate() kullanın

def draw_menu(options, selected_index):
    for counter, option in enumerate(options):
        if counter == selected_index:
            print " [*] %s" % option
        else:
            print " [ ] %s" % option    

options = ['Option 0', 'Option 1', 'Option 2', 'Option 3']
draw_menu(options, 2)

Not: İsteğe bağlı, eğer istiyorsanız (counter, option), counter, option, etrafında parantez koymak olabilir, ama gereksiz ve normalde dahil değil.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • RyanXLT

    RyanXLT

    22 Ocak 2011
  • ShoSho

    ShoSho

    20 Ocak 2010
  • SuperPrincessjo

    SuperPrinces

    1 EKİM 2010