I linguaggi di programmazione quasi universalmente non ti consentono di farlo.
In realtà il concetto di una variabile che "innesca" l'istruzione if
è un'astrazione che non è affatto supportata dal linguaggio. L'istruzione if
non è attivata da var1
né var2
. È "attivato" dall'espressione var1 > 100 or var2 < 1
.
Potresti farcela con:
var1Triggered = (var1 > 100)
var2Triggered = (var2 < 1)
if var1Triggered or var2Triggered:
...
potresti anche giocare con qualcosa del tipo:
trigger = None
if var1 > 100:
trigger = "var1"
elif var2 < 1:
trigger = "var2"
if trigger is not None:
print trigger, " is wrong"
Tuttavia, questo fa apparire i motivi per cui è tutt'altro che ideale pensare in questo modo:
- Che cosa succede se sia
var1
e var2
"attivati"? Questo può succedere
- Che cosa succede se non è chiaro cosa significhi che una variabile si inneschi. Prendi in considerazione un esempio o un esempio:
(var1 and not var2) or (not var1 and var2)
.
Il caso generale di ciò che vuoi non può essere scritto in nessuna lingua, a causa di questi problemi. Di conseguenza, Python, come altri linguaggi, sceglie di non darti alcuna sintassi speciale per questo. Se si fa realmente quel particolare comportamento, è possibile eseguire l'inserimento di codice in più istruzioni if, come è stato scritto nella domanda.