Намалюйте форму серця


34

Виклик

Намалюйте форму серця

введіть тут опис зображення

... як мистецтво ASCII!

Ваше мистецтво не повинно виглядати точно як моє, але воно повинно виглядати як форма серця.

Внутрішня частина серця повинна містити слова "Любов" не менше 20 разів

Правила

  • Програма повинна записати мистецтво на консоль.
  • Найкоротший код (у байтах, будь-якій мові) виграє.

Переможець буде обраний 14 лютого у День Святого Валентина


2
Мені подобається цей контекстний тренд ascii-art . :)
Адам Марас

3
Для того, щоб бути справедливим кодом-гольф, я думаю, ви повинні дати більш обмежене визначення результатів.
Говард

3
Я чекаю, коли хтось подасть біологічно точне виглядає серце. Хто робить це негайно, отримує від мене +1.
Джо

2
@JoeStead Ваші уявлення про романтичні атрибути Дня Святого Валентина виглядають підозрілими:D
VisioN

3
Це було б набагато краще, ніжpopularity-contest
SztupY

Відповіді:


53

JavaScript [160 байт]

Наступний код, здається, не базується на 160 байт .

   ('l2v2l6v2'+  'e1l1v3l2'+
 'v3e1v7e1v7e1v7e1l2v6e1l4v5'+
'e1l6v4e1l8v3e1l7l3v2e1l9l3v1')
 .replace(/[lve]\d/g,function
   (c){return Array(-~c[1]).
      join({l:' ',v:'Love'
         ,e:'\n'}[c[0
             ]])})

Просто запустіть це на консолі браузера (наприклад, у Firebug чи Chrome Dev Tools).


2
Зміна /[lve]\d/до /../і використання масиву ['','Love','\n']замість об'єкта заощадить ще 10 байт , що ведуть до 150 байт в цілому, але джерело серце не буде так добре в формі більше:)
VISION

3
!!! Дивовижна робота !!!
SpYk3HH

1
Використання функції жирної стрілки дозволить заощадити багато байтів. Замініть function(c){returnна c=>та видаліть }. Ви повинні опублікувати більш коротку версію!
Флорент

2
№ EcmaScript 6.
Флорент

1
@Florent Ах! Наскільки мені відомо, ECMAScript 6 все ще експериментальний, і, на жаль, все ще дуже важко перевірити, як це працює. Припустимо, мій код сумісний із ECMAScript 5. :)Але дякую за вказівку! Я сподіваюсь, що скоро JavaScript змагатиметься з Perl та Python у питаннях гольфу, і кожен зможе спробувати це.
VisioN

27

GolfScript: 62 57 54 символи

4 1.5\.5,+{.5\-\2*\0.}/]4/{[32'LOVE']2*]zip{(*}%''+}%~

Вихід:

    LOVE    LOVE
  LOVELOVELOVELOVE
LOVELOVELOVELOVELOVE
  LOVELOVELOVELOVE
    LOVELOVELOVE
      LOVELOVE
        LOVE

Або для якоїсь додаткової любові та обов’язкового зловживання мізерним простором (для 84 символів):

    5 1       .8\
  .)...5   ,{.5\-\3
 *\0.}/]4 /{[32[9829
  :x.'LOVE'\]''+]2
    *[@;]zip{(*}%
     ''+}%~' '15
        *x[]+
          +

Вихід:

     ♥LOVE♥        ♥LOVE♥
  ♥LOVE♥♥LOVE♥  ♥LOVE♥♥LOVE♥
♥LOVE♥♥LOVE♥♥LOVE♥♥LOVE♥♥LOVE♥
   ♥LOVE♥♥LOVE♥♥LOVE♥♥LOVE♥
      ♥LOVE♥♥LOVE♥♥LOVE♥
         ♥LOVE♥♥LOVE♥
            ♥LOVE♥
               ♥

16

C - 183 байт

Не переможець, а ціла лота любов. Чи можете ви зрозуміти, як це працює?

#include <stdio.h>
#define C(a) ((a)*(a)*(a))
int main(){int x,y;for(y=9;y>-6;y--){for(x=-8;x<9;x++)putchar(C(x*x+y*y-25)<25*x*x*y*y*y?"LOVE"[(x+10)%4]:'-');putchar('\n');}return 0;}

Вихід:

-----------------
--LOVE-----OVEL--
-ELOVEL---LOVELO-
-ELOVELO-ELOVELO-
-ELOVELO-ELOVELO-
-ELOVELOVELOVELO-
--LOVELOVELOVEL--
--LOVELOVELOVEL--
---OVELOVELOVE---
----VELOVELOV----
----VELOVELOV----
------LOVEL------
-------OVE-------
--------V--------
-----------------

6
Хороша робота, поставивши Vвнизу.
luser droog

1
Приємне використання кривої серця! Ви все ще можете зберегти пару символів і зійти до 153 (я також трохи змінив вихід за ціною одного доданого байта): ideone.com/ELnkEE
reima

Дуже круто. Я ніколи не був чудовим у СТІЛЬКО стисканні байтів. Ви повинні розмістити його як своє C! Крива серця є загальнодоступним надбанням :)

15

Пітон, 210 символів

Звичайно, це не виграє, оскільки це гольф-код, але я хотів бути творчим, і я не використав слово Loveу своєму вихідному коді:

import gzip
print(gzip.decompress(b'\x1f\x8b\x08\x00\x95\x10\xe0R\x02\xffSPP\xf0\xc9/KU\x80\x03\x10\x8f\x0bB\xa1c.l\x82dJ\xe0\xb0\x01\xe6\x02\x0cATa.T\xf7\x02\x00\xd9\x91g\x05\xc5\x00\x00\x00').decode('ascii'))

Це вихід:

   Love          Love
  LoveLoveLoveLoveLove
LoveLoveLoveLoveLoveLove
LoveLoveLoveLoveLoveLove
LoveLoveLoveLoveLoveLove
  LoveLoveLoveLoveLove
    LoveLoveLoveLove
      LoveLoveLove
          Love

Мені подобається твій підхід ^ _ ^
Навін

1
Використання gzip насправді не творче ...
nyuszika7h

15

Scala - 273 персонажів

Ну, я, звичайно, не сподіваюсь на перемогу заради стислості, але хотів побачити, чи зможу це зробити у Scala. Розумніший гольфіст, можливо, міг поголити кілька байтів, але ось що я отримав:

type D=Double;def w(x:D,y:D,a:D)={val(i,j)=(x-a,y-8);Math.sqrt(i*i+j*j)< 8};val l:Stream[Char]="love".toStream#:::l;val c=l.toIterator;def p(b:Boolean)=print(if(b)c.next else' ');for(y<-0 to 24){for(x<-0 to 32){if(y>7)p((16-x).abs< 24-y)else p(w(x,y,8)|w(x,y,24))};println}

Або, якщо ви віддаєте перевагу (все ще дійсний код!)

  type D=      Double 
def w(x:D,    y:D,a:D)=
{val(i,j)=   (x-a,y -8);
Math.sqrt(i* i+j*j)< 8};
val l : Stream [Char] =
"love".toStream#:::l;val
 c= l .toIterator;def p
  (b:Boolean) =print(if
   (b)c.next else' ');
    for (y <-0 to 24) 
     { for (x<- 0 to
      32){if(y >7)
        p((16-x).
          abs < 
          24-y)
         else
        p(w
       (x,
       y,
      8
      )
      |
      w(
       x,
         y,
           24)
              )}
                 println}

Виводить на екран два півкола та трикутник, роблячи досить пристойне факсиміле серця.Зображення виводу heart.scala

Необхідно запускати інтерпретатора Scala (для компіляції потрібно буде додати трохи зайвих, object Main { def main(args: Array[String]) = { ... } }і я просто нічого з цього не маю.


2
@epidemian Я, певно, міг би зробити це схожим на звичайне серце, але я неправильно оцінив розмір коду і був занадто ледачим. Тому я зробив замість цього хвіст. Мені подобається робити вигляд, що це повітряна куля: p
KChaloux

12

Пітон 2, 117

друкує рівно 20 loveс горизонтально.

x="love";print"   x    x\nx xx x\nx   x   x".replace("x",x)
for i in range(5):print" "*i+x+" "*(9-i*2),x
print" "*6,x

вихід:

   love    love
love lovelove love
love   love   love
love          love
 love        love
  love      love
   love    love
    love  love
       love

Запасіть деякі символи: використовуйте заповнювач однієї літери в рядку другого рядка, а потім replace()їх; у 3-му рядку printзмінити один +на ,10 та 10 на 9; в останньому рядку використовуйте значення змінної x. pastebin.com/i1TSEZfE
manatwork

@manatwork Дякую Відредаговано тіло зараз до 121 символу :-)
Васі

Чи підраховуєте ви три вертикальних loves на правій стороні, які ви отримали, розміщуючи горизонтальну loves?
Джошуа Тейлор

@JoshuaTaylor Спасибі, я не помітив цих вертикальних loves. У тому числі, loveкількість рахунків буде 23: D
Васі

11

Perl - 36 байт

  open    0;s
/\S.?/Lo.ve
  /ge,print
    , , for
        <0>

Вихід:

  LoveLove    LoveLove
LoveLoveLoveLoveLoveLove
  LoveLoveLoveLoveLove
    LoveLoveLoveLove
        LoveLove

Це трохи обман; він буде друкувати Loveодин раз на кожні два символи пробілу у вихідному коді. З необхідним пробілом для створення форми серця, код має довжину 61 байт: вирівняний - це лише 36 байт:

open 0;s/\S.?/Lo.ve/ge,print,,for<0>

Perl - 60 байт

print$"x(15&ord),Love,$/x/\D/for'3h112a05e0n1l2j4f6b9'=~/./g

Виходить наступне:

   Love        Love
 Love Love  Love Love
Love     Love     Love
Love              Love
 Love            Love
  Love          Love
    Love      Love
      Love  Love
         Love

Рівно 20 Love.


Коротке пояснення
за запитом

  • for'3h112a05e0n1l2j4f6b9'=~/./g
    Це змінює оператор друку та повторює кожен символ. Регекс, /./очевидно, відповідає одному символу, і в контексті списку /./gповерне список усіх символів у рядку. Більш поширений, але трохи довший спосіб написати це for split//,'3h112a05e0n1l2j4f6b9'.
  • print$"x(15&ord),Love,$/x/\D/
    Спеціальна змінна $"за замовчуванням для пробілу. Ord Инал значення кожного символу мода 16 зберігає кількість прогалин , необхідних між кожним з Loveдопомогою рядка повторення ( x). Нарешті, якщо символ не є цифрою ( /\D/), значення $/, для якого за замовчуванням "\n"присвоюється до кінця.

ваша друга програма видає помилку: "помилка синтаксису в рядку -e 1, поблизу" / \ D / for3h112a05e0n1l2j4f6b9 " (намагався викликати командний рядок, використовуючи -e)
Томаш,

З командного рядка вам потрібно буде замінити $"на ' ':perl -e "print' 'x(15&ord),Love,$/x/\D/for'3h112a05e0n1l2j4f6b9'=~/./g"
primo

Гаразд, приємний трюк!
Томаш

Версія з 36 байтами насправді не друкує необхідний вихід
Tobia

1
@simbabque виконано.
примо

6

Мова Вольфрама (Mathematica) - 111

i=0;MatrixForm@Table[If[(x^2+y^2-200)^3+10x^2y^3<0,{"L","O","V","E"}[[i++~Mod~4+1]],""],{y,-20,20},{x,-20,20}]

введіть тут опис зображення


5

Javascript - 147 141 137 133 символів

with(Math){s="";for(k=800;k--;)
x=abs(1.25-k%40/16),y=k/320-1.25,
s+=.75>x+abs(y)|.5>sqrt(x*x-x+y*y-y+.5)
?"Love"[k%4]:39==k%40?"\n":" "}s

Примітка. Я опублікував ще одну відповідь, але цей використовується інший підхід, і серце має іншу форму.

Як це працює :

введіть тут опис зображення

По-перше, я виводжу ромб (рівняння |x|+|y|), потім з'єдную два кола вгорі. Значення x відображаються дзеркально (тому потрібне лише одне коло).


1
Ви можете скоротити код, видаливши 0перед плаваючими числами і призначивши Math.absзмінну.
Флорент

Також ви можете видалити два непотрібних крапки з комою з кінця, щоб зберегти ще пару байтів.
VisioN

4

Сліптінг - 28 символів / 56 байт

겤뙡늆굚넰밌各긂밀❷거雙復냄뭖끐❸갰右거雙復겠⓸걠右復終

Вихід:

    LOVE    LOVE
  LOVELOVELOVELOVE
LOVELOVELOVELOVELOVE
  LOVELOVELOVELOVE
    LOVELOVELOVE
      LOVELOVE
        LOVE

(Або в 24 символи: 긢꼙겱딧꽔밂各감啃갰啃긂밀⓶復냄뭖끐⓷復겠⓸復終- але для цього використовується інструкція, яку я додав після публікації цього виклику, тому вона не враховується.)
Timwi

Це 84 байти.
tobyink

Ні, це 56 байт як UTF-16.
Тімві

@Timwi для мене вимірює 58 байт. Незвичайно.
прим

@primo: Це 56 байт. Якщо ви зберегли його як "Unicode" у Блокноті Windows, ви отримаєте 58-байтний файл, що складається з UTF-16 BOM (2 байти) плюс 56-байтної програми.
Тімві

4

JavaScript - 136 121 115 113 символів

s="";for(k=800;k--;)
x=1.25-k%40/16,y=k/320-1.25,
s+=Math.pow(x*x+y*y-1,3)<x*x*y*y*y
?"Love"[k%4]:39==k%40?"\n":" ";s

Для запуску: скопіюйте вставку в консоль браузера (наприклад: Chrome або Firefox)


["L","o","v","e"] => "Love"заощадить 11 байт.
VisioN

Виправлено :). Дякуємо за пропозицію.
tigrou

3

C, 116 символів

(Я не знаю, чи достатньо це у формі серця ... заповнює внутрішню частину трьох кіл, щоб отримати вихід.)

i = 192, x, y;
main(t) {
  for (; i--; putchar(i % 16? y : 10))
    y = i / 16 - 8,
    x = i % 16 - 8,
    t = x*x + y*y,
    y = " Levo"[ (t < 64 & y < 0 | t < 8*abs(x)) * (i % 4 + 1) ];
}

Вихід:

 veLov   veLov 
oveLove oveLove
oveLove oveLove
oveLove oveLove
oveLoveLoveLove
oveLoveLoveLove
oveLoveLoveLove
 veLoveLoveLov 
 veLoveLoveLov 
  eLoveLoveLo  
    oveLove    

Раніше в процесі гольфу, перш ніж замінювати постійні вирази (змінити, Mщоб налаштувати розмір):

#define M 4

i = 3*M * 4*M, x, y;
main(t) {
  for (; i--; putchar(i % (4*M)? x : '\n')) {
    y = i / (4*M) - 2*M, x = i % (4*M) - 2*M,
    t = x*x + y*y, x = " Levo"[ (t < 4*M*M & y < 0 | t < abs(2*M*x)) * (1 + i % 4) ];
  }
}

Я також почувався змушеним це робити. : P

#define F for
#define M main

 /*##     ####
####*/i  =192,x
,y;M(t) {F(;i--
;putchar(i %16?
y:10))y=i/16-8,
x=i%16-8,t=x*x+
y*y,y=" Levo"[(
 t<64&y<0|t<8*
  abs(x))*(i%
    4+1)];}

Які містичні параметри / компілятор слід використовувати для його компіляції? All variables in C are typed en.wikibooks.org/wiki/C_Programming/Variables
Micka

1
Глобальні змінні @Micka неявно оголошуються як intзастаріла функція, запозичена у pre-ANSI-C. Для мене це просто чудово поєднується з ( clang foo.cабо, gcc -std=c99 foo.cправда, з великою кількістю попереджень). Чи виникають помилки? Я не знаю С достатньо добре, щоб гарантувати, що я не залежу від невизначеної поведінки, але я вважаю, що цього не роблю.
FireFly

1
Хрм, мабуть, це не санкціоноване жодним із стандартів - я вважав, що це законно в С90 принаймні, але, на жаль, це не так. Отже, це лише застаріла річ, що залишилася від попереднього ANSI-C, яку більшість компіляторів підтримує у будь-якому разі (див. [Цю виноску] ( en.wikipedia.org/wiki/… на wikipedia, наприклад).
FireFly

3

Рубі, 47, або Гольфскрипт, 41

Нудна відповідь.

puts" Love  Love
"+"LoveLoveLove
"*6+"    Love"

Версія Golfscript:

" Love  Love
""LoveLoveLove
"6*"    Love"

Вихід:

 Love  Love
LoveLoveLove
LoveLoveLove
LoveLoveLove
LoveLoveLove
LoveLoveLove
LoveLoveLove
    Love

32
Лол, яке потворне серце! : D
Аббас

3

Рубін - 113 персонажів

l=->a,b=28,c=1{puts (("Love"*a).center(b))*c};l.call(2,14,2);l.call(3,14,2);[7,7,7,6,5,4,3,2,1].map{|x|l.call(x)}

Вихід:

1.9.3p448 :811 > l=->a,b=28,c=1{puts (("Love"*a).center(b))*c};l.call(2,14,2);l.call(3,14,2);[7,7,7,6,5,4,3,2,1].map{|x|l.call(x)}
   LoveLove      LoveLove   
 LoveLoveLove  LoveLoveLove 
LoveLoveLoveLoveLoveLoveLove
LoveLoveLoveLoveLoveLoveLove
LoveLoveLoveLoveLoveLoveLove
  LoveLoveLoveLoveLoveLove  
    LoveLoveLoveLoveLove    
      LoveLoveLoveLove      
        LoveLoveLove        
          LoveLove          
            Love            

Щоб бути більш чітким

введіть тут опис зображення


3

Perl - 159 символів

Не масово гольфували ...

printf"%-14s%14s\n",$_,~~reverse for map{($.,$i,$c)=split',';($"x$i).($.x$c)}qw(L,5,3 o,3,8 v,1,11 e,0,13 L,1,13 o,3,11 v,5,9 e,7,7 L,8,6 o,10,4 v,12,2 e,13,1)

Ось те саме з доданим пробілом для трохи кращої читабельності ...

printf "%-14s%14s\n", $_, ~~reverse
   for map {
      ($.,$i,$c) = split',';
      ($"x$i).($.x$c)
   } qw(
      L,5,3
      o,3,8
      v,1,11
      e,0,13
      L,1,13
      o,3,11
      v,5,9
      e,7,7
      L,8,6
      o,10,4
      v,12,2
      e,13,1
   )

Вихід ...

     LLL            LLL     
   oooooooo      oooooooo   
 vvvvvvvvvvv    vvvvvvvvvvv 
eeeeeeeeeeeee  eeeeeeeeeeeee
 LLLLLLLLLLLLLLLLLLLLLLLLLL 
   oooooooooooooooooooooo   
     vvvvvvvvvvvvvvvvvv     
       eeeeeeeeeeeeee       
        LLLLLLLLLLLL        
          oooooooo          
            vvvv            
             ee             

Повне слово "Любов" міститься в (вертикально) 22 рази, плюс численні частки.


+1 для творчості. Я б не подумав зробити це вертикальним.
Ендрю Гіс

3

APL, 36 символів / байт *

7 16⍴∊'  ' 'Love'[20400948744⊤⍨36/2]

Потрібно оцінити за допомогою ⎕IO←0(за замовчуванням залежить залежність від реалізації)

* APL може бути записаний в однобайтовій таблиці, якщо це потрібно (доки ви не використовуєте жодного іншого символу Unicode), так N символів = N байт для підрахунку.

Вихід:

Містить рівно 20 "Love"

  Love    Love
LoveLoveLoveLove
LoveLoveLoveLove
LoveLoveLoveLove
  LoveLoveLove
    LoveLove
      Love

2

Розширений BrainFuck : 193 (рахується без суттєвих пробілів)

    {h]<[<]<        [<}>>-->
-3>->-3>+9>+9>+>-7>+>->-5>+>->->
-3>+>+>>4->->6+>5+>>4+[-<4+>]<[-
<4+<5+<5+<5+4>&h++]>[-[-[<10+.[-]
    >-[[-]3<[-]]>[<4+3<[[->>
    +<<]<]]]>[[>]>[.>&h]<<++
        >]]>[<<4+[->8+<]
        >....[-]<<+>>]>]

Перетворюється на:

Brainfuck: 264 (рахується без суттєвого пробілу)

    >>-->->>        >->->>>+
    >>>>>>>>        >+>>>>>>
>>>+>->>>>>>>+>->->>>>>+>->->->>>
+>+>>---->->++++++>+++++>>++++[-<
++++>]<[-<++++<+++++<+++++<+++++>
>>>]<[<]<[<++]>[-[-[<++++++++++.[
    -]>-[[-]<<<[-]]>[<++++<<<
    [[->>+<<]<]]]>[[>]>[.>]<[
        <]<[<]<<++>]]>[<<
        ++++[->++++++++<]
            >....[-]<
             <+>>]>]

Ви запускаєте його з будь-яким перекладачем bf. У Ubuntu є bfі те, beefі інше чудово працює.

bf heart.bf

Вихід (344 байти):

    LOVELOVE        LOVELOVE
    LOVELOVE        LOVELOVE
LOVELOVELOVELOVELOVELOVELOVELOVE
LOVELOVELOVELOVELOVELOVELOVELOVE
LOVELOVELOVELOVELOVELOVELOVELOVE
LOVELOVELOVELOVELOVELOVELOVELOVE
    LOVELOVELOVELOVELOVELOVE
    LOVELOVELOVELOVELOVELOVE
        LOVELOVELOVELOVE
        LOVELOVELOVELOVE
            LOVELOVE
            LOVELOVE

Невикористаний код EBF:

>>--> ; mark

;; ##  ##@   
;;########@
;;########@
;; ######@
;;  ####@
;;   ##@
;; the block below is the art above 
;; where space is replaced with ->
;; # with > and @ with +>
->>>->->>>+>
>>>>>>>>+>
>>>>>>>>+>
->>>>>>>+>
->->>>>>+>
->->->>>+>+>

;; we store the string LOVE after a blank
>
~"LOVE"<[<]<
[<++] ;; add 2 to every cell until mark

;; Variables
:new
:zero
:in
:next

@zero
$in(
  -[ ; 1
     -[ ; 2
        $zero 10+.[-]
        $in-[#[-]$new<[-] @in] ; its second round lf
        $next[#$in++++$new<[[->>+<<]<]]@new     ; 2   
      ]
      >[[>]>[.>]<[<]<[<]<<++>   ]@new
  ]>[@next $zero 4+(-$in 8+) $in.... (-) $new+ $in]@zero
)

2

C # 224

class P{static void Main(){for(int i=0,m=1;i<30;i++)for(int l=0;l<new[]{5,6,7,6,8,10,3,10,4,13,1,13,1,87,1,27,4,23,7,20,11,16,16,11,20,7,24,3,27,1}[i];l++,m++)System.Console.Write((i%2>0?"love"[m%4]:' ')+(m%29>0?"":"\n"));}}

Відформатовано:

class P
{
    static void Main()
    {
        for (int i = 0, m = 1; i < 30; i++)
            for (int l = 0; l < new[] { 5, 6, 7, 6, 8, 10, 3, 10, 4, 13, 1, 13, 1, 87, 1, 27, 4, 23, 7, 20, 11, 16, 16, 11, 20, 7, 24, 3, 27, 1 }[i]; l++, m++)
                System.Console.Write((i % 2 > 0 ? "love"[m % 4] : ' ') + (m % 29 > 0 ? "" : "\n"));
    }
}

Вихід:

     velove       elovel
   ovelovelov   velovelove
 lovelovelovel velovelovelov
lovelovelovelovelovelovelovel
ovelovelovelovelovelovelovelo
velovelovelovelovelovelovelov
 lovelovelovelovelovelovelov
   elovelovelovelovelovelo
    ovelovelovelovelovel
      lovelovelovelove
         lovelovelov
           elovelo
             vel
              l

2

Пітон, 334 байт

x = "love"
print("\t  love\t      love")
print("\t"+str(x*2)+"    "+str(x*2))
print("      "+str(x*6))
print(str(" "*5)+str(x*6)+"lo")
print(str(" "*5)+str(x*6)+"lo")
print("      "+str(x*6))
print("\t"+str(x*5))
print("\t"+str(" "*2)+str(x*4)+"l")
print("\t"+str(" "*4)+str(x*3)+"l")
print("\t"+str(" "*7)+str(x*2))
print("\t"+str(" "*10)+"v")

вихід:

введіть тут опис зображення


1
Ласкаво просимо до PPCG. Це код гольфу, тому, будь ласка, включіть у відповідь кількість байтів вашого коду. Будь ласка, вкажіть, що це мова.
Мартін Ендер

@ MartinBüttner, яку мову ти мав на увазі? а це 334 байти
Янті

1
Мова програмування, на якій ви написали цей код.
Мартін Ендер

Я знаю ! Це Python! О, і ви можете видалити strвиклик за допомогою рядкових повторів, тому що *має вищий пріоритет ніж +.
TuxCrafting

Насправді цей код довжиною 682 байти.
TuxCrafting

1

Perl - 97 символів

Ця відповідь заснована на рішенні Python з 121 символом @ Wasi.

$.=love;say"   $.    $.$/$. $.$. $.$/$.   $.   $.";say$"x$_,$.,$"x(9-$_*2),$.for 0..4;say$"x 6,$.

Вам потрібно запустити perl з -M5.010можливістю ввімкнути особливості 5.10. Це , по- видимому дозволено .

Цікаві особливості:

  • Я використовую змінну $.для зберігання слова "любов". Це тому, що за ним можна одразу слідувати іншим словом, якщо це необхідно. $.forоднозначно токенізовано з $.наступним for; $_forне підлягало б маркуванню, як $_слід за цим, forоскільки $_forсама по собі назва юридичної змінної.
  • $", вбудована змінна, що представляє цей символ, до якого масиви будуть приєднані, коли інтерполяція в рядок (і за замовчуванням для одного символу пробілу) використовується замість " "економії одного символу тут і там.
  • Інтерполяція рядка Перла значно перемагає .replaceметод пітона в гольф-коді.
  • Перл for 0..4аналогічно перемагаєfor i in range(5)

1

CJam - 33 байти

19285703234336595Zb["Love"SS+N]f=

Спробуйте в Інтернеті

Вихід:

  Love    Love
LoveLoveLoveLove
LoveLoveLoveLove
LoveLoveLoveLove
  LoveLoveLove
    LoveLove
      Love

Пояснення:

19285703234336595    number that contains the pattern as base-3 digits
Zb                   converts to base 3 (Z=3)
["Love"SS+N]         creates an array containing "Love", "  " and a newline
f=                   replaces the base-3 digits with the corresponding strings
                     (0 -> "Love", 1 -> "  ", 2 -> newline)

0

Баш, 170 байт

повністю копія програмиFOX :)

echo '\x1f\x8b\x08\x00\x95\x10\xe0R\x02\xffSPP\xf0\xc9/KU\x80\x03\x10\x8f\x0bB\xa1c.l\x82dJ\xe0\xb0\x01\xe6\x02\x0cATa.T\xf7\x02\x00\xd9\x91g\x05\xc5\x00\x00\x00'|gunzip
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.