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

  • kimberly p

    kimberly p

    23 Ocak 2010
  • Lamborghini

    Lamborghini

    13 Aralık 2005
  • Ty Moss

    Ty Moss

    20 Kasım 2007