És simètric? T21960


Statement
 

pdf   zip

thehtml

Diem que un diccionari d és simètric si per a tota parella clau-valor k, v tal que d[k] == v, també trobem que la parella clau-valor simètrica v, k és al diccionari, és a dir, d[v] == k.

Escriure una funció simetric(d) on, donat un diccionari (del que podem suposar que None no és ni clau ni valor), retorni True si el diccionari és simètric i False en cas contrari.

Entrada

La funció té un diccionari com a paràmetre. Aquest diccionari no té None ni com a clau ni com a valor.

Observacions

Considerem que el diccionari buit és simètric.

Us pot anar bé fer servir el mètode get per accedir als elements del diccionari.

Un cop definida la funció, en provar-la al REPL de Python us hauria de sortir el mateix que podeu observar més avall.

Sample session
>>> simetric({'M': 'P', 'P': 'M', 'G': 'G'})
True
>>> simetric({'M': 'P', 'P': 'M', 'G': 'M'})
False
>>> simetric({'M': 'P', 'P': 'M', 'G': 'T'})
False
>>> simetric({'M': 'P', 'P': 'M', 'G': 'T', 'T': 'G'})
True
>>> simetric({'M': 'P', 'P': 'M', 'G': 'T', 'T': 'G', 'A': 'B', 'B': 'A', 'C': 'D', 'D': 'C', 'E': 'F', 'F': 'E'})
True
>>> simetric({'M': 'P', 'P': 'M', 'G': 'T', 'T': 'G', 'A': 'B', 'B': 'A', 'D': 'C', 'E': 'F', 'F': 'E'})
False
>>> simetric({'A': 'B'})
False
>>> 
Information
Author
Jordi Delgado
Language
Catalan
Other languages
Spanish
Official solutions
Python
User solutions
Python