Begrüßung des Benutzers

16

Erstellen Sie ein Programm, das beim Ausführen den folgenden Text anzeigt:

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

Verwenden Sie eine beliebige Funktion oder Sprache, um dies zu beantworten, und haben Sie Spaß. Kürzester Code gewinnt

Amurt4l
quelle
3
Können wir dies alternativ wie gewohnt von einer Funktion zurückgeben?
Stephen
6
Sind führende / nachfolgende Zeilenumbrüche erlaubt?
Gryphon - Wiedereinsetzung von Monica am

Antworten:

6

Japt , 41 39 Bytes

2 Bytes dank @Shaggy gespart

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

Erläuterung:

[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

Probieren Sie es online!

Oliver
quelle
1
39 Bytes
Shaggy
32

Python 2 , 54 Bytes

print(")-*-*-*^_^*-*-*-(\n| Welcome User! |\n"*2)[:53]

Probieren Sie es online!

xnor
quelle
6
WOW, ich werde diesen Ansatz auf meiner Großhirnrinde tätowieren !!
Mauro Baraldi
Beeindruckend, schlag mich um 1 Byte! Take a +1
Gryphon - Reinstate Monica
12

T-SQL, 60 Bytes

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

SQL ermöglicht das Aufteilen von Zeichenfolgenliteralen über Zeilen, sodass diese Rückgaben gezählt werden.

Ich arbeite an einer prozeduralen Lösung, bezweifle aber, dass ich eine unter 60 finde.

New Edit : Fand ein einfaches REPLACE, das die triviale Lösung bindet:

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

Es stellt sich heraus, dass REPLACEeine Zahl implizit in eine Zeichenfolge konvertiert wird. Auf diese Weise kann ich 2 Zeichen speichern, indem die Anführungszeichen um mein Ersatzzeichen entfernt werden.

Der Versuch, es in eine Variable zu schreiben, ist aufgrund des Overheads von DECLARE(69 Byte) zu lang:

DECLARE @ CHAR(17)=')-*-*-*^_^*-*-*-('PRINT @+'
| Welcome User! |
'+@
BradC
quelle
Bitte sehen Sie dies: codegolf.meta.stackexchange.com/a/1146/46066
juniorRubyist
8
Diese Antwort ist völlig in Ordnung @juniorRubyist
Mr. Xcoder
In Ordnung. Ich habe diese Ablehnung entfernt.
juniorRubyist
Vielen Dank. Dachte, Sie haben ursprünglich auf die Hardcodierung der Ausgabebeschränkung Bezug genommen , aber das ist für die Kolmogorov-Komplexität zulässig. Nur nicht besonders effizient.
BradC
9

Python 2.7, 55 Bytes

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

Ziemlich einfach. Beinhaltet führende und nachfolgende Zeilenumbrüche.

Gryphon - Setzen Sie Monica wieder ein
quelle
13
Es muss keine Funktion sein.
Totalhuman
8

C (GCC) , 78 75 Bytes

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

Probieren Sie es online!

Cleblanc
quelle
Netter Versuch, ziemlich wenig Bytes!
Amurt4l
Das niedrigste, auf das ich es bisher gebracht habe, sind 66 Bytes
Amurt4l
71 Bytes mit einer nachgestellten Newline (75 ohne):#define P puts(")-*-*-*^_^*-*-*-(") f(){P;puts("| Welcome User! |");P;}
Steadybox
2
@ Amurt4l Wenn Sie möchten, da Sie einige Antworten erhalten haben, können Sie auch Ihre eigene Antwort posten :)
Stephen
6

Bubblegum , 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...

Probieren Sie es online!

DJMcMayhem
quelle
3
Diese Sprache fühlt sich wie ein Missbrauch der "Regeln" an, ich denke, wir sollten sie nur ändern, damit @Dennis die Sprache ein wenig ändern muss
Stephen
@ Stephens TBH, ich bin damit einverstanden. Glücklicherweise können Sprachen, die für die Kolmogorov-Komplexität optimiert wurden (Jelly, 05AB1E, V, SOGL, einige andere), es dennoch meistens übertreffen, ohne sich so billig zu fühlen.
DJMcMayhem
11
@StephenS Wenn eine Herausforderung am besten mit Bubblegum gelöst werden kann, liegt es an der Herausforderung, nicht an der Sprache. Anstatt Regeln zu erlassen, schreibe interessantere Herausforderungen.
Anders Kaseorg
6

05AB1E , 31 29 26 Bytes

-3 Bytes dank Emigna

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

Probieren Sie es online!

Erläuterung

")-*-*-*^_".∞D”|‡Ý‚Ý! |”s»
")-*-*-*^_"                # Push )-*-*-*^_
           .∞              # Intersected mirror (results in )-*-*-*^_^*-*-*-( )
             D             # Duplicate top of stack
              ”|‡Ý‚Ý! |”   # Pushes | Welcome User! |
                        s  # Swap top items on stack
                         » # Join on newlines
Datboi
quelle
1
Sie könnten .∞anstelle vonû¨'(«
Emigna
Ich wusste, dass es das irgendwie geben musste! Danke Mann
Datboi
Was ich gepostet habe, war gleichwertig, lol.
Magic Octopus Urn
5

Python 3, 62 Bytes

print(")-*-*-*^_^*-*-*-(\n| Welcome User! |\n)-*-*-*^_^*-*-*-(")
Mauro Baraldi
quelle
Muss eine Funktion sein.
juniorRubyist
Bitte sehen Sie dies: codegolf.meta.stackexchange.com/a/1146/46066
juniorRubyist
3
Aber es ist kein Ausschnitt. Es ist ein volles Programm.
Totalhuman
2
Nein, muss keine Funktion sein. Lesen Sie es noch einmal: Verwenden Sie eine beliebige Funktion oder Sprache, um dies zu beantworten.
Mauro Baraldi
2
@juniorRubyist Die erste Zeile der Frage lautetCreate a program
dzaima
5

JavaScript, 56 Bytes

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

JavaScript (ES6), 50 48 Bytes (Funktion)

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

-2 Bytes dank Rick Hitckcock

Stephen
quelle
Warum alert? Sparen Sie ein paar Bytes mit einer Funktion.
Shaggy
@ Shaggy Ich weiß, dass gerade bearbeitet, aber derzeit OP sagt Display, und hat noch nicht auf meinen Kommentar reagiert
Stephen
Bitte sehen Sie dies: codegolf.meta.stackexchange.com/a/1146/46066
juniorRubyist
4
@juniorRubyist erlauben wir normalerweise entweder ein komplettes Programm oder eine Funktion. OP hat nicht angegeben, dass Funktionen, die den Wert zurückgeben, statt ihn anzuzeigen, zulässig sind, sodass meine zweiten beiden Einträge möglicherweise nicht zulässig sind. Komplette Programme sind jedoch (fast) immer erlaubt und JavaScript benötigt kein Boilerplate. Kopieren Sie my alertin eine .jsDatei und führen Sie es in Ihrem Browser aus, es wird ausgeführt.
Stephen
Speichern Sie 2 Bytes mit _=>(s=")-*-*-*^_^*-*-*-(")+\ n | Willkommener Benutzer! | \ n+s
Rick Hitchcock
4

C 75 Bytes

main(){char*S=")-*-*-*^_^*-*-*-(";printf("%s\n| Welcome User! |\n%s",S,S);}
Govind Parmar
quelle
70 Bytes wie dieses; m=")-*-*-*^_^*-*-*-(";main(){printf("%s\n| Welcome User! |\n%s",m,m);}
Cleblanc
4

MATLAB / Octave, 53 Bytes

a=')-*-*-*^_^*-*-*-(';disp([a;'| Welcome User! |';a])
rayryeng - Setzen Sie Monica wieder ein
quelle
Warum MATLAB / Python? Dies ist definitiv kein gültiges Python.
DJMcMayhem
@ DJMcMayhem Sorry, ich meinte Octave. Vielen Dank, dass Sie den Tippfehler bemerkt haben. Beantwortete den ganzen Tag über Python-Fragen, so dass das Gehirn einen kleinen
Fehler
Wenn Sie nicht angeben, zeigt dispMatlab die Führung ans = \n.
Crowley
@ Crowley Das ist der Grund, warum du das dispdort brauchst, da es nicht der genauen Ausgabe entspricht.
Rayryeng - Wiedereinsetzung von Monica
Wenn dies ans = nicht erlaubt ist, können Sie 6 Bytes speichern.
Crowley
4

Perl 5 , 49 Bytes

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

Probieren Sie es online!

Verwendet die Tatsache, dass $\implizit nach jedem gedruckt wird print.

Dada
quelle
Was ist say?
Simbabque
1
@simbabque Ich neige dazu, diesem Konsens zu folgen . Außerdem ist es meiner Meinung nach nicht wirklich wichtig, alles printdurch zu ersetzen say. Aber ich bin nicht auf einem Kreuzzug, saywenn auch nicht mehr zu gebrauchen; Ich lasse alle machen, was sie wollen, und alle sind glücklich :)
Dada
4

Holzkohle , 32-30 Bytes

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

Probieren Sie es online! Link ist eine ausführliche Version des Codes. Erläuterung:

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

Druckt das Spiegelbild des linken oberen Teils der Ausgabe.

‖B¬             ReflectButterfly(:¬);

Wird nach unten und links reflektiert, um die obere und untere Linie sowie die linke der mittleren Linie zu erstellen.

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

Korrigiert die Mittellinie.

Neil
quelle
(Warum die Ablehnung?)
Neil
2
Anscheinend hat jemand viele der Antworten in dieser Herausforderung abgelehnt. Mein Beitrag ist auch einer der betroffenen.
Kritixi Lithos
3

Mathematica, 52 Bytes

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

Golang, 82 Bytes

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

Probieren Sie es online!

ionk
quelle
Hallo und willkommen bei PPCG! Ihre Einreichung kann eine Funktion sein, die den Text gemäß Metakonsens als Ausgabe zurückgibt, wodurch er für diese Site möglicherweise kürzer und besser wird.
Genosse SparklePony
Ah okay, danke für die Köpfe hoch. Ich werde eine Bearbeitung vornehmen.
Ionk
Sie müssen den fmtImport einschließen , sorry.
Totalhuman
@totallyhuman warten, aber es ist nicht Teil der Funktion.
Ionk
3

Minecraft-Funktionen , 77 Bytes

tellraw @a {"text":")-*-*-*^_^*-*-*-(\n| Welcome User! |\n)-*-*-*^_^*-*-*-("}
Textlich
quelle
Dies versucht nicht einmal, die Zeichenfolge zu komprimieren ...
Okx
2
@Okx Nun, versuchen Sie das, wenn die einzigen nicht konstanten Dinge, die Sie drucken können, Zahlen und Block- /
Elementnamen sind
3

Braingolf , 55 Bytes

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

Probieren Sie es online!

Es ist 2 Bytes kürzer als die Ausgabe fest zu codieren.

Erläuterung

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
Skidsdev
quelle
3

PHP , 50 Bytes

<?=$a=")-*-*-*^_^*-*-*-(","
| Welcome User! |
$a";

Probieren Sie es online!

Jörg Hülsermann
quelle
1
<?=$a=")-*-*-*^_^*-*-*-(","\n| Welcome User! |\n$a";
Christoph
3

Batch, 70 Bytes

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

Ich genieße dieses am meisten, weil all die Fluchtcharaktere das Emoticon ^_^wie einen entzückenden Lovecraft-Gräuel aussehen lassen^^^^_^^^^

Ingenieur Toast
quelle
3

> <> , 56 54 Bytes

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

Probieren Sie es online!

2 Bytes von AGourd gespeichert

Blaugrüner Pelikan
quelle
In Ihrer ersten Zeile können Sie | "a"> "01p zu |>" 01pa ändern, um ein paar Zeichen zu speichern
AGourd
@AGourd; Oh, das muss ich verpasst haben, scheint einfach, wenn Sie darauf hinweisen :) - Ich werde es bald bearbeiten, danke.
Teal Pelican
2

V , 35 Bytes

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

Probieren Sie es online!

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                                  ! |

Erläuterung:

é)                          " 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
DJMcMayhem
quelle
2

Pyth, 41 Bytes

Es ist langweilig, aber ich kann einfach keinen Weg finden , die Zeichenfolgen zu erstellen )-*-*-*^_^*-*-*-(oder | Welcome User! |in weniger Bytes als nur zu kopieren.

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

Online ausprobieren

Jacoblaw
quelle
Warum abstimmen?
Jacoblaw
2

/// , 42 Bytes

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

Probieren Sie es online!

Kürzer als die Bubblegum-Lösung!

Genosse SparklePony
quelle
Warum die Gegenstimme?
Genosse SparklePony
2

Karotte , 51 Bytes

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

Probieren Sie es online!

Erläuterung

)-*-*-*\^_\^*-*-*-(
^                            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
Kritixi Lithos
quelle
Warum die Gegenstimme?
Kritixi Lithos
2

Bash, 52 Bytes

f=")-*-*-*^_^*-*-*-("
echo "$f
| Welcome User! |
$f"
joeytwiddle
quelle
2

Vim, 38 Bytes

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

Grüße die Homies in den Kommentaren

Original:

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

Wo ^[ist der ESCSchlüssel?

Biowiesel
quelle
1
i)-*-*-*^_^*-*-*-(^]ist viel kürzer für die Konstruktion der oberen Linie. Außerdem YentsprichtVy
DJMcMayhem
Tatsächlich können Sie, wenn Sie mehr oder weniger die V-Antwort- i)^]8a-*^[r(9hR^_^^[
Topline-
Danke euch allen. Ich benutze Vim seit ungefähr einem Monat und habe nur versucht zu sehen, ob ich es schaffen kann. Offensichtlich muss ich meinen Workflow
optimieren
Ein letzter Tipp: Wenn Sie die Zeile duplizieren, bevor Sie eine neue Zeile für "Welcome User!" Öffnen, müssen Sie nicht ^[am Ende drücken . YPo| Welcome User! |
DJMcMayhem
Sehen? Ich wusste nicht einmal, dass Pdas eine Sache ist. Das ist aber großartig. Vielen Dank!
Bioweasel
2

Java 8, 62 Bytes

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

Probieren Sie es hier aus.

Oder als Vollprogramm ( 110 Bytes ):

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

Probieren Sie es hier aus.

Überrascht gab es noch keine Java-Antwort.

Kevin Cruijssen
quelle