Dadas dos listas que no contienen elementos duplicados a
y b
, encontrar el cruce entre las dos listas y generar un Diagrama de Venn ASCII-Art. El diagrama de Venn utilizará una versión cuadriculada de los círculos tradicionales para simplificar.
Ejemplo
Dado:
a = [1, 11, 'Fox', 'Bear', 333, 'Bee']
b = ['1', 333, 'Bee', 'SchwiftyFive', 4]
Salida (el orden es 100% arbitrario, siempre que el diagrama de Venn sea correcto):
+-----+----+-------------+
|11 |333 |SchwiftyFive |
|Fox |Bee |4 |
|Bear |1 | |
+-----+----+-------------+
El programa puede considerar '1' == 1
o '1' != 1
, hasta su implementación. También puede optar por manejar todo como cadenas y solo aceptar la entrada de cadena.
Dado:
a=[]
b=[1,2,3]
Salida (observe cómo las dos partes vacías todavía tienen el espacio de la plataforma derecha):
+-+-+--+
| | |1 |
| | |2 |
| | |3 |
+-+-+--+
Dado:
a=[1]
b=[1]
Salida:
+-+--+-+
| |1 | |
+-+--+-+
Reglas
- Los elementos del diagrama de Venn se alinean a la izquierda y se rellenan hasta la entrada de longitud máxima más 1.
- El orden de los elementos dentro de las subsecciones del diagrama de Venn es arbitrario.
- Las esquinas del diagrama de Venn (donde se
|
encuentra-
) deben estar representadas por a+
. - Está garantizado que
a.join(b).length() > 0
, si ambos están vacíos, puede hacer lo que sea.- Incluso puede imprimir una foto de Abe Lincoln, no me importa.
- Esto es código golf , arte ascii y teoría de conjuntos .
Prima
El carbón de leña produce cuadros como este naturalmente, pero toda la parte de la teoría del conjunto ... No sé qué tan bien lo hace. +100 de recompensa por el envío de carbón más corto antes de que pueda agregar una recompensa a la pregunta (2 días después de que se me pregunte).
'1' == 1
es demasiado