Saludo al usuario


16

Cree un programa que cuando se ejecute muestre el texto a continuación:

)-*-*-*^_^*-*-*-(
| Welcome User! |
)-*-*-*^_^*-*-*-(

Usa cualquier función o lenguaje para responder esto, diviértete. El código más corto gana


3
¿Podemos alternativamente devolver esto de una función, como de costumbre?
Stephen

66
¿Se permiten nuevas líneas iniciales / finales?
Gryphon

Respuestas:


6

Japt , 41 39 bytes

Guardado 2 bytes gracias a @Shaggy

[U="){"-*-*-*^_"ê}("`| WelÖ  U r! |`U]·

Explicación:

[U="){"-*-*-*^_"ê}("`| WelÖ  U r! |`U]·
[                                    ]    // Create a new array
 U=                                       // Variable U =
   ")                                     //   ")
     {            }                       //   Evaluate everything in curley-brackets as code
      "-*-*-*^_"ê                         //   "-*-*-*^_" mirrored -> -*-*-*^_^*-*-*-
                  ("                      //   ("
                                          * Now we have [U=")-*-*-*^_^*-*-*-("]
                    `| WelÖ  U r! |`      // "| Welcome User! |" decompressed by `...`
                                     U    // ")-*-*-*^_^*-*-*-("
                                          * Now we have [")-*-*-*^_^*-*-*-(","| Welcome User! |",")-*-*-*^_^*-*-*-("]
                                      ·   // Split with new-lines

Pruébalo en línea!




12

T-SQL, 60 bytes

PRINT')-*-*-*^_^*-*-*-(
| Welcome User! |
)-*-*-*^_^*-*-*-('

SQL permite dividir literales de cadena sobre líneas, por lo que se cuentan esos retornos.

Trabajando en una solución de procedimiento, pero dudo que encuentre una menor de 60 años.

Nueva edición : se encontró un sencillo REPLACEque vincula la solución trivial:

PRINT REPLACE('1
| Welcome User! |
1',1,')-*-*-*^_^*-*-*-(')

Resulta que REPLACEhará una conversión implícita de un número a una cadena, por lo que esto me permite guardar 2 caracteres al eliminar las comillas alrededor de mi carácter de reemplazo.

Intentar ponerlo en una variable es demasiado largo, debido a la sobrecarga de DECLARE(69 bytes):

DECLARE @ CHAR(17)=')-*-*-*^_^*-*-*-('PRINT @+'
| Welcome User! |
'+@


8
Esta respuesta está completamente bien @juniorRubyist
Mr. Xcoder

Okay. Quité ese voto negativo.
juniorRubyist

Gracias. Pensé que originalmente se refería a la limitación de la codificación de salida , pero eso está permitido para la complejidad de kolmogorov. Simplemente no particularmente eficiente.
BradC

9

Python 2.7, 55 bytes

a="\n)-*-*-*^_^*-*-*-(\n"
print a+'| Welcome User! |'+a

Bastante simple. Incluye nuevas líneas iniciales y finales.


13
No necesita ser una función.
totalmente humano

8

C (gcc) , 78 75 bytes

main(i){for(;printf(")-*-*-*^_^*-*-*-(")&i--;puts("\n| Welcome User! |"));}

Pruébalo en línea!


Buen intento, ¡muy poca cantidad de bytes también!
Amurt4l

Lo más bajo que lo he conseguido es 66 bytes hasta ahora
Amurt4l


2
@ Amurt4l si lo desea, ya que ha recibido bastantes respuestas, también puede publicar su propia respuesta :)
Stephen

6

Chicle , 43 bytes

00000000: d3d4 d502 c1b8 f838 30ad abc1 55a3 109e  .......80...U...
00000010: 9a93 9c9f 9baa 105a 9c5a a4a8 50c3 a589  .......Z.Z..P...
00000020: ae06 00bd 4d85 9835 0000 00              ....M..5...

Pruébalo en línea!


3
Este lenguaje <s> es </s> se siente como un abuso de las "reglas", y creo que deberíamos cambiarlas solo para que @Dennis tenga que cambiar un poco el idioma
Stephen

@StephenS TBH, estoy de acuerdo. Sin embargo, afortunadamente, los lenguajes optimizados para la complejidad de kolmogorov (Jelly, 05AB1E, V, SOGL, algunos otros) aún pueden superarlo sin sentirse tan baratos.
DJMcMayhem

11
@StephenS Si un desafío se resuelve mejor con Bubblegum, es culpa del desafío, no del lenguaje. En lugar de reglas de abogacía, escriba desafíos más interesantes.
Anders Kaseorg

6

05AB1E , 31 29 26 bytes

-3 Bytes gracias a Emigna

")-*-*-*^_".∞D”|‡Ý‚Ý! |”s»

Pruébalo en línea!

Explicación

")-*-*-*^_".∞D”|‡Ý‚Ý! |”s»
")-*-*-*^_"                # Push )-*-*-*^_
           .∞              # Intersected mirror (results in )-*-*-*^_^*-*-*-( )
             D             # Duplicate top of stack
              ”|‡Ý‚Ý! |”   # Pushes | Welcome User! |
                        s  # Swap top items on stack
                         » # Join on newlines

1
Podrías hacerlo en .∞lugar deû¨'(«
Emigna

¡Sabía que esto tenía que existir de alguna manera! Gracias hombre
Datboi

No importa, lo que publiqué fue equivalente jajaja.
Urna mágica de pulpo

Sé que ha pasado un tiempo, pero puede guardar un byte cambiando el ")-*-*-*^_"a ')„-*Є^_J. :)
Kevin Cruijssen

5

Python 3, 62 bytes

print(")-*-*-*^_^*-*-*-(\n| Welcome User! |\n)-*-*-*^_^*-*-*-(")

Necesita ser una función.
juniorRubyist


3
Pero no es un fragmento. Es un programa completo.
totalmente humano

2
No, no necesita ser una función. Léalo nuevamente: use cualquier función o idioma para responder esto.
Mauro Baraldi

2
@juniorRubyist La primera línea de la pregunta diceCreate a program
dzaima

5

JavaScript, 56 bytes

alert(`${s=")-*-*-*^_^*-*-*-("}
| Welcome User! |
${s}`)

JavaScript (ES6), 50 48 bytes (función)

_=>(s=")-*-*-*^_^*-*-*-(")+`
| Welcome User! |
`+s

-2 bytes gracias a Rick Hitckcock


¿Por qué alert? Ahorre algunos bytes usando una función.
Shaggy

@Shaggy Lo sé, solo lo edité, pero actualmente OP dice display, y aún no ha respondido a mi comentario
Stephen


44
@juniorRubyist generalmente permitimos un programa completo o una función. OP no especificó que las funciones que devolvieron el valor en lugar de mostrarlo estuvieran permitidas, por lo que es posible que mis dos segundas entradas no estén permitidas. Sin embargo, los programas completos están (casi) siempre permitidos, y JavaScript no necesita repetitivo. Copie mi alerten un .jsarchivo y ejecútelo en su navegador, se ejecutará.
Stephen

Ahorre 2 bytes con _=>(s=")-*-*-*^_^*-*-*-(")+\ n | Bienvenido usuario! | \ n+s
Rick Hitchcock

4

C, 75 bytes

main(){char*S=")-*-*-*^_^*-*-*-(";printf("%s\n| Welcome User! |\n%s",S,S);}

70 bytes como este; m=")-*-*-*^_^*-*-*-(";main(){printf("%s\n| Welcome User! |\n%s",m,m);}
cleblanc



4

MATLAB / Octave, 53 bytes

a=')-*-*-*^_^*-*-*-(';disp([a;'| Welcome User! |';a])

Why MATLAB / Python? This is definitely not valid python.
DJMcMayhem

@DJMcMayhem Sorry I meant Octave. Thanks for noticing the typo. Been answering python questions over on SO all day so brain had a small glitch :)
rayryeng - Reinstate Monica

If you ommit disp Matlab will show leading ans = \n.
Crowley

@Crowley That's why you need the disp there as it won't conform to the exact output.
rayryeng - Reinstate Monica

If the ans = is not disallowed you can save 6 bytes.
Crowley

4

Perl 5, 49 bytes

print$\=")-*-*-*^_^*-*-*-(","
| Welcome User! |
"

Try it online!

Uses the fact that $\ is implicitly printed after each print.


What about say?
simbabque

1
@simbabque I tend to follow this consensus. Furthermore, replacing all print with say isn't really where the point of golfing lies in my opinion. But I'm not on any crusade to stop using say though; I let everyone do as they like, and everyone is happy :)
Dada

4

Charcoal, 32 30 bytes

_^×*-³(⸿emocleW |‖B¬J¹¦¹ User!

Try it online! Link is to verbose version of code. Explanation:

_^              Print("_^");
×*-³            Print(Times("*-", 3));
(⸿emocleW |     Print("(\remocleW |");

Prints the mirror image of the top left portion of the output.

‖B¬             ReflectButterfly(:¬);

Reflects down and to the left to create the top and bottom lines and the left of the middle line.

J¹¦¹            JumpTo(1, 1);
 User!          Print(" User!");

Fixes up the middle line.


(Why the downvote?)
Neil

2
Apparently someone's been downvoting many of the answers in this challenge, my submission is also one of the affected ones.
Kritixi Lithos

3

Mathematica, 52 bytes

Column@{t=")-*-*-*^_^*-*-*-(","| Welcome User! |",t}

3

Golang, 82 bytes

func main(){var a string=")-*-*-*^_^*-*-*-(\n";Printf(a+"| Welcome User! |\n"+a)}

Try it online!


Hola y bienvenidos a PPCG! Su envío puede ser una función que devuelve el texto como resultado, según el meta consenso, lo que podría hacerlo más corto y mejor para este sitio.
Camarada SparklePony

Ah bien, gracias por el aviso. Haré una edición.
ionk

Tienes que incluir la fmtimportación, lo siento.
totalmente humano

@totallyhuman espera pero no es parte de la función.
ionk


3

Funciones de Minecraft , 77 bytes

tellraw @a {"text":")-*-*-*^_^*-*-*-(\n| Welcome User! |\n)-*-*-*^_^*-*-*-("}

Esto ni siquiera está tratando de comprimir la cadena ...
Okx

2
@Okx Bueno, intente hacerlo cuando las únicas cosas no constantes que puede imprimir son números y nombres de bloque / elemento: p
dzaima

3

Braingolf , 55 bytes

22#)[#-#*]"^_^"[#*#-]#(V"
| Welcome User! |
"R!&@v&@R&@

Pruébalo en línea!

Es 2 bytes más corto que codificar la salida.

Explicación

22                         Push 2 2s to the stack
                             These are used for loop counting
  #)                       Push )
    [#-#*]                 Push -* 3 times, using one of the 2s
          "^_^"            Push ^_^
               [#*#-]      Push *- 3 times, using the remaining 2
                     #(    Push (
                       V   Create a new stack
                        "
| Welcome User! |
"                          Push \n| Welcome User! |\n to the new stack
 R!&@                      Return to main stack, print entire stack without popping
     v&@                   Switch to 2nd stack, pop and print stack
        R                  Return to main stack, pop and print stack


3

Lote, 70 bytes.

@SET b=@ECHO )-*-*-*^^^^_^^^^*-*-*-(
%b%
@ECHO ^| Welcome User! ^|
%b%

Disfruto mucho de este porque todos los personajes de escape hacen que el emoticón ^_^parezca una adorable abominación de Lovecraft^^^^_^^^^


3

> <> , 56 54 bytes

/a"| !resU emocleW |>"01pa
 l?!;o
/"(-*-*-*^_^*-*-*-)"

Pruébalo en línea!

2 bytes guardados por AGourd


En su primera línea, puede cambiar | "a"> "01p a |>" 01pa para guardar un par de caracteres
AGourd

@AGourd; Oh, debo haberme perdido eso, parece simple cuando lo señalas :) - Lo editaré pronto, gracias.
Teal pelican

2

V , 35 bytes

é)8a-*r(ãhR^_^Äo| Welcome User! |

Pruébalo en línea!

Hexdump:

00000000: e929 3861 2d2a 1b72 28e3 6852 5e5f 5e1b  .)8a-*.r(.hR^_^.
00000010: c46f 7c20 5765 6c63 6f6d 6520 5573 6572  .o| Welcome User
00000020: 2120 7c                                  ! |

Explicación:

é)                          " Insert a '('
  8a                        " Append 8 copies of the following: 
    -*<esc>                 "   '-*'
           r(               " Replace the last character on this line with '('
             ãh             " Move to the middle of this line
               R            " And write the following text over the existing text:
                ^_^<esc>    "   '^_^'
                        Ä   " Duplicate this line
o                           " On a new line:
 | Welcome User! |          "   Write the whole middle line

2

Pyth, 41 bytes

Es aburrido, pero no puedo encontrar una manera de crear )-*-*-*^_^*-*-*-(o | Welcome User! |en menos bytes que simplemente copiar las cadenas.

J")-*-*-*^_^*-*-*-("J"| Welcome User! |"J

Explanation:
J")-*-*-*^_^*-*-*-("                      # J = ")-*-*-*^_^*-*-*-("
                    J                     # Print J with new line
                     "| Welcome User! |"  # Print "| Welcome User! |" with new line
                                        J # Print J with new line

pruébalo en línea


¿Por qué el voto negativo?
jacoblaw


2

Zanahoria , 51 bytes

)-*-*-*\^_\^*-*-*-(
^*1//.+/gS"
| Welcome User! |
"

Pruébalo en línea!

Explicación

)-*-*-*\^_\^*-*-*-(
^                            Give the stack-string this value ")-*-*-*^_^*-*-*-(\n"
 *1                          Append 1 duplicate of the stack-string to itself
                             stack-string: ")-*-*-*^_^*-*-*-(\n)-*-*-*^_^*-*-*-("
//.+/g                       Get matches of /.+/g and set the stack-array to this result
                             stack-array: [")-*-*-*^_^*-*-*-(",")-*-*-*^_^*-*-*-("]
S"
| Welcome User! |
"                            Join the stack-array on "\n| Welcome User! |\n" and
                             set the stack-string to this result

¿Por qué el voto negativo?
Kritixi Lithos


2

Vim, 38 bytes

i)^[8a-*^[r(9hR^_^^[Yo| Welcome User! |^[p

Shoutout a los amigos en los comentarios

Original:

i)-\*^[vhyl2pa^_^\*-^[vhyl2pa(^[Vyo| Welcome User! |^[p

Donde ^[esta la ESCllave


1
i)-*-*-*^_^*-*-*-(^]es mucho más corto para construir la línea superior. Además, Yes equivalente aVy
DJMcMayhem

En realidad, si prestas más o menos la construcción de la línea superior de respuesta V de DJ, puedes guardar 2 bytes en la entrada del i)^]8a-*^[r(9hR^_^^[
código duro

Gracias a todos. He estado usando Vim durante aproximadamente un mes y solo estaba tratando de ver si podía hacerlo. Obviamente tengo mucha optimización para ir a mi flujo de trabajo
bioweasel

Un último consejo: si duplica la línea antes de abrir una nueva línea para "¡Bienvenido usuario!", No necesitará presionar ^[al final. YPo| Welcome User! |
DJMcMayhem

¿Ver? Ni siquiera sabía que Pera una cosa. Eso es asombroso sin embargo. ¡Gracias!
bioweasel

2

Java 8, 62 bytes

x->"".format("%s| Welcome User! |\n%<s",")-*-*-*^_^*-*-*-(\n")

Pruébalo aquí

O como programa completo ( 110 bytes ):

interface A{static void main(String[]a){System.out.printf("%s| Welcome User! |\n%<s",")-*-*-*^_^*-*-*-(\n");}}

Pruébalo aquí

Sorprendido aún no había una respuesta de Java.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.