เงื่อนไขในขณะที่วนซ้ำใน python [ซ้ำ]

Dec 20 2020

ฉันมีเงื่อนไขดังต่อไปนี้และฉันต้องการให้คอลัมน์แรกของการพิมพ์เปลี่ยนจาก 1 ถึง 100 ตอนนี้เริ่มจาก 1 ถึง 20 ฉันมีรายการตัวอักษรและช่วงที่กำหนดเป็น 20

lista = ['a','b','c','d','e']
intervalo = 20

for i, r in enumerate(lista):
    s = 1
    f = 1
    while f <= intervalo*s:
        print(f, r)
        f+=1

เอาต์พุตปัจจุบัน:

1 a
2 a
3 a
4 a
....
1 b
2 b
3 b
4 b

ผลลัพธ์ที่ต้องการ:

1 a
2 a
3 a
4 a
...
15 a
...
20 a
21 b
22 b
23 b
24 b
....

คำตอบ

1 quamrana Dec 20 2020 at 05:49

คุณควรเพิ่มทั้ง f และ s แต่ในเวลาที่เหมาะสม:

lista = ['a','b','c','d','e']
interval = 20
s = 1
f = 1
for i, r in enumerate(lista):
    while f <= interval*s:
        print(f, r)
        f+=1
    s += 1
2 Potados Dec 20 2020 at 05:56

แล้วการใช้ doubled forล่ะ?

lista = ['a','b','c','d','e']
interval = 20

for i, item in enumerate(lista):
     for j in range(interval):
         print(i*interval + j+1, item)