Zbuduj tłum podejrzanie szczęśliwych twarzy lenny (͡ ° ͜ʖ ͡ °)


25

Przechodziłem przez dziwny wątek na Reddit i natknąłem się na to:

(͡ ° (͡ ° ͜ʖ (͡ ° ͜ʖ ͡ °) ʖ ͡ °) ͡ °)

Reprezentuje grupę ludzi uśmiechających się podejrzliwie.

(Jednak w poniższym wyzwaniu spacje po lewej stronie prawego oka zostały jakoś upuszczone podczas pisania wyzwania. Zwróć uwagę na specyfikację).


Twoim celem jest stworzenie grupy uśmiechniętych twarzy Lenny'ego ngłęboko według następujących zasad:

  1. Na pierwszej głębokości wyświetlana jest pełna twarz ( ( ͡° ͜ʖ ͡°)).
  2. Na głębokości drugiej pokazano pół twarzy. Po lewej stronie znajduje się nieco ponad połowa twarzy ( ( ͡° ͜ʖ). Jednak po prawej stronie pokazano prawą stronę i pominięto usta ( ʖ ͡°))
  3. Im głębiej, a pokazane są tylko boki głowy i oczu ( ( ͡°i ͡°). Między okiem a lewą stroną głowy jest odstęp, ale po wyglądzie nie ma spacji po prawej stronie. Odstęp wynika z ͡charakteru, który bałagan z rzeczami trochę.

Wkład:

  • n, pokazując, ile warstw twarzy należy pokazać.
  • nzawsze będzie w zasięgu 0 <= n <= 500. Nie musisz obsługiwać niczego poza tym zakresem.
  • nmoże być przesunięty o 1, tak że 0 oznacza jedną twarz zamiast żadnych twarzy. Musisz jednak obsługiwać -1.

Wydajność:

  • Ciąg znaków, tablica znaków lub cokolwiek zdalnie porównywalnego (jak lista ciągów jednoznakowych w Pythonie / JavaScript). Można go również wydrukować bezpośrednio. Końcowe białe znaki są w porządku.

Możesz przesłać pełny program lub funkcję.


Ponieważ trudno jest zobaczyć, jakie postacie są zaangażowane, oto to zostało przedstawione w Pythonie:

>> [ord(c) for c in '( ͡° ͜ʖ ͡°)']
[40, 32, 865, 176, 32, 860, 662, 32, 865, 176, 41]

>> [ord(c) for c in '( ͡°( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°)͡°)͡°)']
[40, 32, 865, 176, 40, 32, 865, 176, 40, 32, 865, 176, 32, 860, 662, 40, 32, 865, 176, 32, 860, 662, 32, 865, 176, 41, 662, 32, 865, 176, 41, 865, 176, 41, 865, 176, 41]

Przypadki testowe:

face_crowd(0)
''

face_crowd(1)
'( ͡° ͜ʖ ͡°)'

face_crowd(2)
'( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°)'

face_crowd(5)
'( ͡°( ͡°( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°)͡°)͡°)͡°)'

face_crowd(10)
'( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)'

face_crowd(500)
'( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡°( ͡° ͜ʖ( ͡° ͜ʖ ͡°)ʖ ͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)͡°)'

Oto wyjątkowo naiwna rekurencyjna implementacja referencji (opublikowana na moim Githubie). Starałem się zachować jasność, jak to możliwe; ale jest dużo powielania

Wysłałem go zewnętrznie, ponieważ chciałem owinąć go w spoiler na wypadek, gdyby ludzie nie chcieli zobaczyć referencji, ale komplikuje to kopiowanie kodu. Myślę, że to naprawdę nie jest ważne dla wyzwania, więc nie jest to wielka sprawa, jeśli spadnie, mogę go tutaj wkleić, jeśli zostanie to uznane za ważne.


To jest golf golfowy, więc wygrywa najmniej bajtów w każdym języku.


11
Wygląda jeszcze bardziej podejrzliwie, gdy jest renderowany w TIO. : p
Arnauld

Specyfikacja i przypadki testowe wydają się niespójne; specyfikacja ma spację na początku prawej części tych ostatnich głębokości, podczas gdy przypadki testowe nie.
tjjfvi

@Arnauld Oh wow. Tak, wszędzie wydaje się to pokazywać trochę inaczej.
Carcigenicate


1
@Arnauld Uwielbiam także edycję adresów URL: -͡-͜ʖ-͡
val mówi Przywróć Monikę

Odpowiedzi:


14

Haskell , 89 87 80 bajtów

7 bajtów mniej dzięki xnor

(!!)$"":x:iterate(4#8)(7#6$x)
x="( ͡° ͜ʖ ͡°)"
(a#b)y=take a x++y++drop b x

Wypróbuj online!

Na początek przypisujemy (͡ ° ͜ʖ ͡ °) ciągowi xdla wygody.

x="( ͡° ͜ʖ ͡°)"

Następnie tworzymy listę odpowiedzi i indeksujemy ją, aby znaleźć rozwiązanie. Odbywa się to przez zakodowanie na stałe dwóch pierwszych odpowiedzi jako pierwszych dwóch elementów listy, a następnie iterację funkcji, która dodaje pierwsze 4 znaki i ostatnie 4 znaki na początku i na końcu łańcucha w trzeciej odpowiedzi.

(!!)$"":x:iterate(4#8)(7#6$x)

Mamy również specjalną funkcję, (#)która dodaje określoną ilość (͡ ° ͜ʖ ͡ °) z przodu i z tyłu łańcucha:

(a#b)y=take a x++y++drop b x

8

JavaScript (ES6), 66 bajtów

f=n=>n?"( ͡°"+(--n>1?f(n):" ͜ʖ"+(n?f(n)+"ʖ ":" "))+"͡°)":""

Wypróbuj online!

Lub wypróbuj poniższy fragment kodu, aby uzyskać lepsze renderowanie.

Skomentował

W poniższym kodzie używamy zestawu znaków "eEMN"(odpowiednio brwi, oka, ust i nosa), aby zachować formatowanie.

f = n =>           // f is a recursive function taking the number n of remaining
                   // faces to draw
  n ?              // if n is greater than 0:
    "( eE" + (     //   append the left cheek + a space + the left eye
      --n > 1 ?    //   decrement n; if it's still greater than 1:
        f(n)       //     append the result of a recursive call
      :            //   else (n = 0 or 1):
        "MN" + (   //     append the mouth and the nose
          n ?      //     if n = 1:
            f(n)   //       append the result of a recursive call
            + "N " //       followed by the nose + a space
          :        //     else (n = 0):
            " "    //       append a space and stop recursion
        )          //
    )              //
    + "eE)"        //   append the right eye + the right cheek
  :                // else:
                   //   the special case n = 0 is reached only if the original
    ""             //   input is 0; just return an empty string

6

Python 3 , 75 bajtów

f=lambda i:L[:7+~2%~i]+f(i-1)+L[6+2%i:]if i>1else L*i
L='( ͡° ͜ʖ ͡°)'

Wypróbuj online!

-6 bajtów dzięki xnor


6
Przeszukałem brutalną siłę i odkryłem, że 4+3*(i<3)może 7+~2%~ii 8-2*(i<3)może być 6+2%i.
xnor

@xnor Brilliant, dzięki!
Jitse

6

Excel, 85 bajtów

=IF(A1>1,REPT("( ͡°",A1-1)&" ʖ( ͡° ͜ʖ ͡°)ʖ "&REPT("͡°)",A1-1),REPT("( ͡° ͜ʖ ͡°)",A1))

Naiwne rozwiązanie dla n>1. Drugie powtórzenie wymagane do obsługi 0zestawu testowego.


Potrzebujesz ostatniego REPT?
Neil

Ostatni REPTjest wymagany do obsługi 0skrzynki.
Wernisch

5

Retina 0.8.2 , 56 bajtów

.+
$*< $&$*>
 >>
 >ʖ >
<(?=<? )
< ͜ʖ
<
( ͡°
>
͡°)

Wypróbuj online! Wyjaśnienie:

.+
$*< $&$*>

Wygeneruj policzki, ale używaj <s i >s, ponieważ (s i )s musiałyby być cytowane. Przestrzeń pośrodku kończy się między nosem środkowego mężczyzny a lewym okiem.

 >>
 >ʖ >

Jeśli mężczyzna pośrodku ma mężczyznę po lewej, daj mu nos i przestrzeń między nim a lewym okiem.

<(?=<? )
< ͜ʖ

Dodaj usta i nos do mężczyzny pośrodku i mężczyzny po jego prawej, jeśli w ogóle. Nie widzimy lewego oka mężczyzny po jego prawej stronie, więc nie potrzebuje on przestrzeni, i daliśmy temu środkowemu miejscu na pierwszym etapie.

<
( ͡°

Napraw właściwe policzki i dodaj właściwe oczy.

>
͡°)

Napraw lewe policzki i dodaj lewe oczy.


1
@ Arnauld Phew, zajęło mi to trochę czasu, ale myślę, że udało mi się to naprawić tylko dla jednego dodatkowego bajtu!
Neil


4

Poinformuj 7 , 262 bajtów

To say x:say "[Unicode 865][Unicode 176]".
To say y:say Unicode 860.
To say z:say Unicode 662.
To say p (N - number):say "( [x][p N minus 1][x])".
To say p (N - 2):say "( [x] [y][z][p 1][z][x])".
To say p (N - 1):say "( [x] [y][z] [x])".
To say p (N - 0):say "".

Wykorzystuje to przeciążenie funkcji Inform 7: uruchomione zostanie najbardziej specyficzne przeciążenie, a funkcja, która przyjmuje liczbę (dowolną liczbę całkowitą), ponieważ jej argument jest mniej szczegółowy niż funkcja, która przyjmuje argument dwa (i tylko dwa) jako argument .

Istnieje kilka powtarzających się fragmentów tekstu, takich jak „([x]”), które potencjalnie mogłyby zostać wyodrębnione jako ich własne funkcje - ale I7 jest tak szczegółowe, że zdefiniowanie nowej funkcji zajmuje więcej bajtów niż to zaoszczędziłoby! Jedyne miejsca definiujące wydaje się, że nowa funkcja zapisuje bajty dla znaków spoza ASCII, ponieważ składnia do ich drukowania jest jeszcze bardziej szczegółowa niż składnia definicji funkcji.

Boilerplate, aby uruchomić to:

Foo is a room. When play begins: say p 7.

Zamień 7 na nieujemną liczbę całkowitą do wyboru.


Miło widzieć odpowiedź Inform!
Flądrowiec

3

Stax , 42 bajty

ü/┐▐Φd¬•U►^τ∩█┴êZ3↔uº'µ3ó(▀◄Ü▒iÇÆ'[∞_¥▄>A√

Uruchom i debuguj

Wydaje mi się, że nie działa w przeglądarce Firefox w systemie Windows. Ale to tylko dlatego, że domyślną czcionką FF dla monospace jest Courier, który wydaje się nie obsługiwać tych fantazyjnych modyfikatorów Unicode lub cokolwiek innego. Myślę.





2

Java 7, 133 90 89 bajtów

String f(int n){return--n<0?"":"( ͡°"+(n>1?f(n):" ͜ʖ"+(n>0?f(n)+"ʖ ":" "))+"͡°)";}

Port rekursywnej odpowiedzi JavaScript @ Arnaulda , ponieważ jest ona krótsza niż moja pierwsza pierwsza próba użycia lambda Java 8+.

Wypróbuj online.

Wyjaśnienie:

String f(int n){               // Recursive method with integer parameter & String return-type
  return--n                    //  Decrease the input by 1 first
           <0?                 //  And if the input is now -1:
              ""               //   Return an empty string
             :                 //  Else:
             "( ͡°"             //   Return the left part of Lenny's face
             +(n>1?            //   And if the modified input is larger than 1:
                   f(n)        //    Append a recursive call with this now decreased input
                  :            //   Else (the input is here either 0 or 1):
                   " ͜ʖ"        //    Append Lenny's nose
                   +(n>0?      //    And if the input is larger than 0 (thus 1):
                         f(n)  //     Append a recursive call
                         +"ʖ " //     As well as the right part of its nose
                        :      //    Else (thus 0):
                         " "   //     Append a space instead
            ))+"͡°)";}          //   And also append the right part of Lenny's 



1

Węgiel drzewny , 41 bajtów

NθP⭆θ✂ʖ ͡°)⊗‹¹ι←⭆θ✂ʖ͜ °͡ (∧‹¹ι³

Wypróbuj online! Deverbosifier z jakiegoś powodu próbuje zacytować drugi ciąg, ale nie wydaje się to konieczne, ale tutaj jest pełna wersja, jeśli chcesz. Wyjaśnienie:

Nθ

Wprowadź liczbę twarzy.

P⭆θ✂ʖ ͡°)⊗‹¹ι

Wydrukuj lewą stronę twarzy (po naszej prawej stronie, tak jak je widzimy). Składają się one z ciąguʖ ͡°) powtórzonego do dwóch razy, a następnie ciąg bez dwóch pierwszych znaków powtórzył pozostałą liczbę razy.

←⭆θ✂ʖ͜ °͡ (∧‹¹ι³

Wydrukuj prawą stronę twarzy (po lewej stronie, gdy je widzimy). Składają się one z (odwróconego) ciąguʖ͜ °͡ ( powtórzonego do dwóch razy, a następnie ten ciąg bez dwóch pierwszych znaków powtórzył pozostałą liczbę razy.

Bardziej spostrzegawczy wśród was zauważy, że środkowa twarz ma dwa razy wygenerowany nos, dlatego drukuję w taki sposób, że się pokrywają.


1

Python 3 , 80 znaków, 86 bajtów

x='( ͡° ͜ʖ ͡°)'
n=3-1
print(x[:4]*(n-1)+x[:7]*(n!=0)+x+x[6:]*(n!=0)+x[8:]*(n-1))

Wypróbuj online!

Aby wprowadzić dane wejściowe, zmień 3 na dowolne dane wejściowe, pozostawiając -1 w spokoju.

Jeśli ktoś zna lepszy sposób wprowadzania danych, który zmniejszyłby liczbę znaków, daj mi znać.

Nie dzieje się tu nic szczególnego, tylko krojenie sznurków i nadużywanie boolean

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.