Trong mã ví dụ của tôi dưới đây, là bộ đếm 0 thực sự được yêu cầu hay có cách nào tốt hơn, bằng Python, để truy cập vào bộ đếm vòng lặp? Tôi đã thấy một vài PEP liên quan đến các bộ đếm vòng lặp, nhưng chúng bị trì hoãn hoặc bị từ chối (PEP 212 và PEP 281).Truy cập vòng lặp Python trong vòng lặp for
Đây là ví dụ đơn giản về sự cố của tôi. Trong ứng dụng thực sự của tôi, điều này được thực hiện với đồ họa và toàn bộ menu phải được sơn lại mỗi khung hình. Nhưng điều này thể hiện nó theo một cách văn bản đơn giản dễ tái tạo.
Có lẽ tôi cũng nên thêm rằng tôi đang sử dụng Python 2.5, mặc dù tôi vẫn quan tâm nếu có cách cụ thể là 2.6 hoặc cao hơn.
# 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
Khi chạy, nó sẽ tạo ra:
[ ] Option 0
[ ] Option 1
[*] Option 2
[ ] Option 3
bạn có thể chỉ cần sử dụng các tài sản dài mảng thay vì cho trong vòng lặp phương pháp, cho tôi
Jim
có thể trùng lặp của [Truy cập chỉ mục bằng Python cho vòng lặp] (http://stackoverflow.com/questions/522563/accessing-the-index-in-python-for-loops) –