Los símbolos contra las letras
¡Los caracteres ASCII se han dividido una vez más ! Sus conjuntos son las letras y los símbolos .
Las cartas
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
Los símbolos
!"#$%&'()*+,-./0123456789:;<=>?@[\]^_`{|}~
La tarea es escribir dos programas:
Imprime cada uno de cartas exactamente una vez sin utilizar ninguna de ellas en su programa.
Imprime cada uno de los símbolos exactamente una vez sin usar ninguno de ellos en su programa.
Reglas
- Los espacios en blanco pueden aparecer en su programa o en la salida.
- No se permiten caracteres no ASCII.
- La salida va a la salida estándar o a un archivo como el contenido o el nombre del archivo.
- Sin entrada.
- La salida solo debe contener caracteres ASCII de un conjunto u otro.
- Los programas se pueden escribir en diferentes idiomas o en el mismo idioma con una excepción:
- El lenguaje de espacios en blanco solo se puede usar para uno de los programas.
- Se aplican lagunas estándar .
Puntuación
# of characters in program 1
+# of characters in program 2
=Score
¡La puntuación más baja gana!
Nota:
Para alentar más presentaciones, aún puede publicar una respuesta con una solución para solo uno de los programas. No podrás ganar, pero aún podrás mostrar algo genial.
Gracias a Calvin's Hobbies por inspirar la idea con su pregunta anterior .
code-golf
restricted-source
hmatt1
fuente
fuente
Respuestas:
Total: 53 caracteres
Total en un solo idioma: 230 caracteres, Pyth
Parte 1: Golfscript, 15
Salidas:
Explicación:
Parte 2: Pyth , 38
Salidas:
Explicación:
Solución extra:
Parte 1: Pyth, 192
Explicación:
$"%\143"$
=> "% c".$
cambia hacia y desde el estilo de análisis de Python, y en el análisis de cadenas de Python,\143
es la secuencia de escape octal parac
. Por lo tanto, esta respuesta es equivalente al siguiente código de estilo Python:Por supuesto, esto no funciona en Python, porque la impresión en Python usa
print
, pero la impresión en Pyth es implícita, por lo que funciona.Las soluciones Pyth no usan ninguna de las características agregadas ya que se hizo la pregunta.
fuente
Python (Símbolos,
8782)Me encanta el módulo de cadena de Python ...
Editar:
Salida:
FALSO (Letras, 21)DUP (Letras, 20):FALSA solución:
Solución DUP (1 char más corto)
Salida (para ambos):
Intérprete para FALSO.
Total: 102
fuente
from string import*
funciona igual de bien y reduce el recuento de bytes.*
está prohibido en este contexto ...from string import punctuation, digits
. Buena solución que sigue las reglas. Perdón por mi error!GolfScript (14 caracteres) + Deadfish x (116 caracteres) = 130 caracteres
y
fuente
Partes 1 y 2 en Ruby 2, 56 + 484 = 540
Parte 1:
Para más información sobre este estilo de Ruby, mira narfnme .
Parte 2 (este bit es solo Ruby 2.0+, funciona perfectamente con ruby-2.1.0 pero puede dar advertencias en versiones anteriores):
Ese fue duro. Llamar a los métodos Fixnum incorporados como
chr
ysucc
requiere abrir la clase Fixnum y redefinirinspect
, ya que puedo activar una llamadax.inspect
con . Afortunadamente, de los caracteres ascii en ese rango,p x
. Necesito inspeccionar para regresarnil
para quep
solo se imprima una nueva línea, cualquier cadena se enmarcará entre comillas dobles. Pero como efecto secundario, se repite. Puedo terminar el primer bucle y el segundo bucle usando una comparación de cadenas para ver cuándo he alcanzado un rango de letras, pero como no puedo escribir un literal de cadena, necesito obtener uno llamandoString()
al símbolo devuelto (en Ruby 2) por el , que no puede tomar expresiones de varias líneas, necesito ajustar el literal en un método (ya que obviamente no puedo hacer la asignación). El último ciclo es más difícil de terminar. Necesito que pare endef
palabra clave Como esa es una sintaxis multilínea y solo puedo hacer una comparación de cadenas a través decase
~
~
es el único que se puede invocar en un Fixnum sin argumentos sin generar un error, por lo que puedo usarsend chr
para detectar cuándo estoy al final y detener el bucle.No es el mejor puntaje en este hilo, pero hasta ahora es el único que usa el mismo lenguaje para ambas partes. Yay Ruby
fuente
Parte 2 en Applescript, 654
espera ... ¿dónde está la página " consejos para jugar golf en Applescript "?
Salida:
fuente
CJam + AlphaBeta , 62 bytes
Letras, CJam , 12 bytes
Pruébalo en línea!
Salida
Cómo funciona
Símbolos, AlphaBeta , 50 bytes
Pruébalo en línea!
El intérprete oficial de C ++ tiene un error que hace que los bucles sean imposibles y no puedo entender cómo usar el intérprete de Lua. Arreglé ese error. Puede verificar que funciona según lo previsto ejecutando los programas de ejemplo desde la página EsoLang.
Salida
Cómo funciona
fuente
Parte 1 en BrainFuck:
8074 bytesfuente
>
debido a la falta de sangría de código. Entonces se presenta como una cita.Total 318 bytes
Realmente esperaba encontrar una respuesta con ambos programas en el mismo idioma, pero hasta ahora nada. Aquí está esto en su lugar:
Parte 1: bash puro, 129 bytes
Salida:
Parte 2: GNU dc, 189 bytes
Salida:
fuente
Bueno, ya sabes, alguien debería ponerlo en marcha.
Parte 1 en BrainFuck: 174 bytes
fuente
Parte 1: Ruby, 45 bytes
Explicación
?@...?[
) y un rango que contiene AZ (?`...?{
) se convierten en los elementos de la matriz_
utilizando el operador splat (*
)."@"
) y el elemento 27 ("`"
) de la matriz_
se establecen ennil
._
se uneArray#*
e imprime en stdout ($>
)fuente
*$_
en la segunda línea conp
(o[]
).