Mengulangi data dengan penjana berjalan dalam fail dan IDLE memberikan hasil yang tidak konsisten,
过去多啦不再A梦
过去多啦不再A梦 2017-05-18 11:01:04
0
1
615

Menggunakan penjana untuk mengulang data membina masalah yang hilang, dan kod yang sama berjalan dengan hasil yang tidak konsisten:

  1. Hasil berjalan dalam mod fail ialah: 5 2 1 0

  2. Python disertakan dengan IDLE dan hasilnya ialah: 5 3 2 1 0

def countdown(n):
    while n >= 0:
        newvalue = (yield n)
        if newvalue is not None:
            n = newvalue
        else:
            n -= 1


c = countdown(5)
for n in c:
    print(n)
    if n == 5:
        c.send(3)

过去多啦不再A梦
过去多啦不再A梦

membalas semua(1)
迷茫

Jangan ubah suai objek yang dilalui, kerana ini akan menyebabkan kekeliruan indeks dan gagal mencapai hasil yang kita inginkan Anda boleh menggunakan enumerate untuk melihat perubahan dalam indeks semasa proses traversal

for index, n in enumerate(c):
    # index 为取到的索引值
    print(index, n)
    if n == 5:
        c.send(3)
        
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan