Während ich mich bewegte, zerbrach ich meine Lampe. Jetzt brauche ich einen neuen. Es ist deine Aufgabe, mich zu einer Lampe zu machen! Ich bin mir nicht sicher, welche Größe ich haben möchte, obwohl ich weiß, dass ich eine schnörkellose haben möchte.
Ihr Programm / Ihre Funktion muss eine Zahleneingabe aufnehmen und eine Lampe mit so vielen Kringeln / Unebenheiten ausdrucken.
Beispiele:
Eingang:2
Ausgabe:
/ - \ () () / __ \
Eingang:3
Ausgabe:
/ - \ () () () / __ \
Eingang:5
Ausgabe:
/ - \ () () () () () / __ \
Regeln:
- 0 und negative Zahlen spielen keine Rolle
- Um die Lampen (und diese Herausforderung) abwechslungsreicher zu gestalten, müssen Sie den Lampenschirm ändern.
- Sie müssen 4 Zeichen breit und 1 Zeichen hoch sein.
- Sie können in jeder Form vorliegen, einschließlich Formen ohne Lampenschirm.
- Sie dürfen keine Leerzeichen enthalten.
- Die Basis muss gleich bleiben.
- Sie müssen ein Beispiel für die Ein- und Ausgabe mit Ihrem Lampenschirm zeigen.
- Kürzester Code gewinnt!
ABBB..BBBC
. Die Anforderung, einen Abschnitt zu ändern, bedeutet lediglich, dass Benutzer eine kurze integrierte Zeichenfolge verwenden.Antworten:
Pyth - 16 Bytes
Verwendet Anführungszeichen für den Farbton, da N dafür vorinitialisiert ist.
Probieren Sie es hier online aus .
Probe für 5:
quelle
Schneemann 0.2.0 , 42 Zeichen
Probelauf:
Daher habe ich erst gemerkt, dass ich vergessen habe, die Fähigkeit, Backslashes zu umgehen, in Strings zu implementieren, als ich diese Herausforderung gelöst habe. Das wird definitiv eine Sache in der nächsten Version sein, aber im Moment habe ich Folgendes getan, um die letzte Zeile auszudrucken:
92
ist der ASCII-Code für einen Backslash,wR
der in ein Array eingeschlossen wird, und ich kann ihn jetzt mit drucken,sP
da "Strings" in Snowman eigentlich nur Arrays von Zahlen sind.quelle
> <> ,
434138 BytesDie Eingabe erfolgt über einen Codepunkt, z. B. ist die Leertaste 32. Dabei wird ein Teil des programmeigenen Codes als Lampenschirm verwendet, was zu einer Art Satellitenschüssel führt:
(Vorschlag danke an @randomra)
Für drei weitere Bytes können wir die dritte Zeile ändern, um etwas mehr Anpassung hinzuzufügen:
Dies erzeugt eine dieser Lampen, die das Licht nach oben schießen, da es nicht besser ausgedrückt werden kann:
quelle
R
545246 BytesIn dieser Version sind Eingabe und Ausgabe fast gemischt:
{in / out} PUT:
BEARBEITEN 1 : -2 Bytes dank @manatwork Kommentar.
EDIT 2 : -6 Bytes. Der volle Kredit geht wieder an @manatwork
quelle
" /_\\"
sollte sein"/__\\"
. BTW, ist das\r
notwendig?\r
hat mir zwei Bytes gespart! Hätte meinen Code noch einmal lesen sollen! Vielen Dank !cat("RRRR",rep(" ()",scan()),"/__\\",sep="\n")
scheint zu funktionieren.Strohhalm , 26 Bytes (nicht konkurrierend)
Verwenden Sie
'--'
als Lampenschirm,nehmen Sie die Eingabe in unaryjetzt in Dezimalzahl vorquelle
CJam, 18 Bytes
Probelauf für Eingabe 5:
Probieren Sie es hier online aus
quelle
JavaScript ES6, 34 Byte
Die Zeilenumbrüche sind erheblich
Beispiel mit Eingabe von 5:
quelle
sed, 28 bytes
Nimmt unäre Eingaben auf. Der Farbton ist die offensichtliche Auswahl (genauso wie die Basis).
Testlauf
quelle
Gema: 30 Zeichen
Probelauf:
quelle
jq: 30 Zeichen
(29 Zeichen Code + 1 Zeichen Befehlszeilenoption.)
Probelauf:
Online-Test (Das Übergeben einer
-r
URL wird nicht unterstützt. Prüfen Sie die Raw-Ausgabe selbst.)quelle
C 54 Bytes
Rufen Sie
f()
mit der gewünschten Höhe der Lampe.Probiere es auf ideone aus.
Beispielausgabe für 5:
quelle
Pyke, 15 Bytes
Probieren Sie es hier aus!
Ausgänge:
quelle
Kotlin , 36 Bytes
Probieren Sie es online!
quelle
Leerzeichen , 169 Bytes
Buchstaben
S
(Leerzeichen),T
(Tabulator) und (Zeilenvorschub) werdenN
nur als Hervorhebungen hinzugefügt.[..._some_action]
nur als Erklärung hinzugefügt.Probieren Sie es online aus (nur mit Leerzeichen, Tabulatoren und Zeilenumbrüchen).
Erklärung im Pseudocode:
Schiebt alle Zeichen in umgekehrter Reihenfolge auf den Stapel und druckt sie dann in einer Schleife.
HINWEIS:
i
Der oben genannte Pseudocode wird in jeder Iteration von wieder im Heap gespeichertLOOP
, da er am Ende nicht auf dem zu druckenden Stapel belassen werden soll.quelle
Canvas , 8 Bytes
Probieren Sie es hier aus!
Erläuterung:
quelle
05AB1E ,
17151311 Bytes-2 Bytes (17 → 15) dank @EriktheOutgolfer .
-2 Byte (13 → 11), nachdem Sie von @dzaima inspiriert wurden Canvas-Antwort .
Kappe ist die gleiche wie die Basis (
/__\
).Erläuterung:
Alte 13-Byte-Antwort:
Probieren Sie es online aus.
quelle
Excel, 31 Bytes
Eine anonyme Arbeitsblattfunktion, die Eingaben als Zahlenwert aus dem Bereich akzeptiert
[A1]
und an die aufrufende Zelle ausgibt.Diese Lampe ist musikalisch - und wird dazu beitragen, Ihren Tag zu beleben und aufzuhellen.
Ausgabe
quelle
PowerShell 5.1,
2826 BytesDanke Mazzy für 2 Bytes
Da der Schatten aus 4 beliebigen Zeichen bestehen kann, werden bei Verwendung einer Zahl zwei Anführungszeichen gespeichert. Das Schwierigste war, einen gut aussehenden Farbton zu finden.
Ausgabe:
quelle
8008;," ()"*"$args";"/__\"
Python 2, 36 Bytes
Für Eingabe 4:
Beachten Sie, dass für Python jeder Lampenschirm, der Pipes verwendet, ein Byte weniger ist.
-1 Bytes dank @Alex!
quelle
print"-"*4+"\n ()"*input()+"\n/__\\"
Japt , 17 Bytes
Probieren Sie es online!
Ausgabe für
5
ist:quelle
¥
.SWI-Prolog,
7360 Bytesa(5).
Ausgängequelle
Julia, 36 Bytes
Dadurch wird eine unbenannte Funktion erstellt, die eine Ganzzahl als Eingabe verwendet und an stdout ausgibt.
Beispiel:
quelle
Bash + Coreutils, 37 Bytes
Die Zeilenumbrüche sind notwendig und werden in der Bytesumme gezählt. GNU sed ist erforderlich.
Lauf:
Ausgabe:
quelle
Ruby, 42 Bytes
quelle
Neoscript , 28 Bytes
quelle
Java
711,848337 BytesProbieren Sie es online aus. (HINWEIS: Java 11 wird von TIO noch nicht unterstützt, wurde also
String.repeat(int)
mitrepeat(String,int)
derselben Bytezahl emuliert .)Verwendet
i!!i
als Kappe.¡!!¡
sieht besser aus , ist aber zwei Bytes mehr.Erläuterung:
quelle
Perl 5 , 24 Bytes
Probieren Sie es online!
Verwendet
1000
als Kappe.quelle
Voraus 38 Bytes
Probieren Sie es online!
Proben
quelle
Befunge-93 , 50 Bytes
Probieren Sie es online!
Beispiel mit Eingang 3
quelle
PHP, 38 Bytes
Speichern unter; Laufen Sie als Pipe mit
-nF
oder probieren Sie es online aus .quelle