¿Es simétrico? T21960


Statement
 

pdf   zip

thehtml

Diremos que un diccionario d es simétrico si para todo par clave-valor k, v tal que d[k] == v, también sucede que el par clave-valor simétrico v, k está en el diccionario, es decir d[v] == k.

Escribir una función simetrico(d) donde, dado un diccionario (del que podemos suponer que None no es ni clave ni valor), retorne True si el diccionario es simétrico y False en caso contrario.

Entrada

La función tiene un diccionario como parámetro. Este diccionario no tiene None ni como clave ni como valor.

Observaciones

Se considera que el diccionario vacío es simétrico.

Puede ser útil utilizar el método get para acceder a los elementos del diccionario.

Una vez definida la función, al probarla en el REPL de Python debería salir lo mismo que se puede observar más abajo.

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