Rumah  >  Soal Jawab  >  teks badan

python - Mencari kaedah dalam def yang boleh mencapai kesan berterusan memanggil def ini untuk memenuhi syarat tertentu (tajuk tidak jelas, sila lihat penerangan dalam soalan)

def con(x):
    if x==3:
        continue #会报错

def con2(x):
    if x == 4:
        continue #会报错
for i in range(0,10):
    con(i)
    con2(i)
    print(i)
    

Apa yang saya maksudkan ialah jika syarat dalam def dipenuhi, gelung dipanggil untuk luaran akan diteruskan. Sebagai contoh, dalam contoh, jika nilai i ialah 3 atau 4, teruskan. Oleh kerana terdapat banyak kaedah def yang diperlukan, dan senario sebenar adalah jauh lebih rumit daripada contoh, rasanya tidak begitu ringkas untuk menilai nilai pulangan satu demi satu. Saya ingin bertanya jika ada cara untuk merealisasikan permintaan saya. Terima kasih banyak~

过去多啦不再A梦过去多啦不再A梦2672 hari yang lalu722

membalas semua(2)saya akan balas

  • 高洛峰

    高洛峰2017-05-27 17:41:54

    Anda boleh menjejaskan gelung for dengan melemparkan pengecualian khusus:

    
    class Abort(Exception):
        pass
    
    def con(x):
        if x==3:
            raise Abort()
    
    def con2(x):
        if x == 4:
            raise Abort()
    for i in range(0,10):
        try:
            con(i)
            con2(i)
        except Abort:
            continue
        print(i)
        

    balas
    0
  • 漂亮男人

    漂亮男人2017-05-27 17:41:54

    terus mesti digunakan dengan untuk, anda boleh mencuba idea pelaksanaan lain
    seperti:

    def con(x):
        return True if x == 3 else False
    
    def con2(x):
        return True if x == 4 else False
    
    for i in range(0,10):
        lst = [
            con(i),
            con2(i)
        ]
        
        if any(lst):
            continue
    
        print(i)

    balas
    0
  • Batalbalas