[Python] 0 in (False,)  //   0 == False
    Daniele Varrazzo 
    piro a develer.com
       
    Gio  4 Feb 2010 13:15:37 CET
    
    
  
On Thu, 4 Feb 2010 10:26:40 +0100, Alessandro Dentella <sandro a e-den.it>
wrote:
> Mi viene qui di da chiedermi: ma che bisogno c'è che un booleano erediti
> da
> un intero? piace a tutti che "0 == False" sia vero?
A me piace... e mi piace ancora di più che 1 == True! In questo modo un
modo rapido per sapere quanti True hai in un insieme è sommare i valori
logici tra loro. O fare giochini tipo:
In [1]: def leggi_lati_triangolo():
   ...:     return map(int, raw_input().split())
   ...: 
In [2]: a, b, c = leggi_lati_triangolo()
3 4 4
In [3]: {0: 'scaleno', 1: 'isoscele', 3: 'equilatero'}[(a == b) + (b == c)
+ (a == c)]
Out[3]: 'isoscele'
In calcolo numerico si usa spesso moltiplicare una matrice numerica per
una matrice di booleani: la semplice moltiplicazione restituisce una
matrice che contiene solo i valori numerici corrispondenti ai "vero" dei
booleani. Perché dovrebbe essere più facile fare queste operazioni in C che
in Python? ;)
-- 
Daniele Varrazzo - Develer S.r.l. 
http://www.develer.com
    
    
       
       Maggiori informazioni sulla lista 
	       Python