Rumah > Soal Jawab > teks badan
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~
高洛峰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)
漂亮男人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)