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

  • Rhapsody

    Rhapsody

    7 ŞUBAT 2008
  • bored before i even began

    bored before

    30 Mart 2009
  • UKF

    UKF

    2 Aralık 2009