[Python] Non dovreste perdervi questo domanda su SO

Nadir Sampaoli nadirsampaoli a gmail.com
Lun 20 Maggio 2013 16:36:13 CEST


>
>  Pardonez moi, ma se io ho 3 operatori e devo controllare se sia vero
>> solo uno controllare 1 vero e 1 falso e uscire non mi sembra corretto. Il
>> terzo potrebbe essere anch'esso vero e quindi la condizione totale (1 T e 2
>> F) non essere verificata. Otterrei quindi un falso positivo.
>>
>
> Carlos
>

Probabilmente non ho capito cosa intendi perchè in realtà  «il "almeno uno,
ma non tutti"»:
 - è diverso da dire «se io ho 3 operatori e devo controllare se sia vero
solo uno»;
 - vale anche per (1 T e 2 F).

Se devi controllare se sia vero solo uno non puoi sfruttare lo
short-circuiting, ma devi consumare tutta la lista di predicati, facendo
una cosa del tipo:

    predicates = [A, B, C]
    len(filter(None, predicates)) == 1

Ma non sono convinto che tu intendessi questo.

--
Nadir
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20130520/015f2168/attachment.html>


Maggiori informazioni sulla lista Python