Gambarkan Bentuk Hati


34

Tantangan

Gambarlah bentuk Hati

masukkan deskripsi gambar di sini

... sebagai seni ASCII!

Seni Anda tidak harus persis seperti milik saya, tetapi harus terlihat seperti Bentuk Hati.

Bagian dalam hati harus mengandung kata-kata "Cinta" setidaknya 20 kali

Aturan

  • Program harus menulis karya seni ke konsol.
  • Kode terpendek (dalam byte, bahasa apa pun) menang.

Pemenang akan dipilih pada 14 Februari di Hari Kasih Sayang


2
Saya suka tren ascii-art khusus konteks ini . :)
Adam Maras

3
Untuk menjadi golf kode yang adil saya pikir Anda harus memberikan definisi output yang lebih ketat.
Howard

3
Saya menunggu seseorang untuk mengirimkan hati yang tampak akurat secara biologis. Siapa pun yang melakukannya segera mendapat +1 dari saya.
Joe

2
@JoeStead Gagasan Anda tentang atribut romantis Hari Kasih Sayang terlihat mencurigakan:D
VisioN

3
Ini akan jauh lebih baik sebagaipopularity-contest
SztupY

Jawaban:


53

JavaScript [160 byte]

Kode berikut tampaknya tidak diformat 160 byte .

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

Cukup jalankan ini di konsol browser (mis. Di Firebug atau Chrome Dev Tools).


2
Mengubah /[lve]\d/ke /../dan menggunakan berbagai ['','Love','\n']bukannya objek akan menghemat lain 10 byte yang mengarah ke 150 byte secara total, tapi hati sumber tidak akan yang baik berbentuk lagi:)
Visi

3
!!!Pekerjaan yang luar biasa!!!
SpYk3HH

1
Menggunakan fungsi panah gemuk akan menghemat banyak byte. Ganti function(c){returnoleh c=>dan hapus }. Anda harus memposting versi yang lebih pendek!
Florent

2
Tidak. EcmaScript 6.
Florent

1
@Florent Ah! Sejauh yang saya tahu ECMAScript 6 masih eksperimental dan sayangnya masih sangat sulit untuk menguji cara kerjanya. Mari kita asumsikan kode saya kompatibel dengan ECMAScript 5 :)Tetapi terima kasih telah menunjukkan! Saya harap segera JavaScript akan bersaing dengan Perl dan Python dalam masalah golf dan semua orang akan dapat mencobanya.
VisioN

27

GolfScript: 62 57 54 karakter

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

Keluaran:

    LOVE    LOVE
  LOVELOVELOVELOVE
LOVELOVELOVELOVELOVE
  LOVELOVELOVELOVE
    LOVELOVELOVE
      LOVELOVE
        LOVE

Atau, untuk beberapa cinta tambahan, dan penyalahgunaan wajib spasi putih tidak penting (untuk 84 karakter):

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

Keluaran:

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

16

C - 183 byte

Bukan pemenang, tapi cinta lotta keseluruhan. Bisakah Anda mengetahui cara kerjanya?

#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;}

Keluaran:

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

6
Pekerjaan yang bagus menempatkan Vdi bagian bawah.
luser droog

1
Penggunaan kurva hati yang bagus! Anda masih dapat menyimpan beberapa karakter dan turun ke 153 (Saya juga mengubah output sedikit pada biaya satu byte ditambahkan): ideone.com/ELnkEE
Reima

Sangat keren. Saya tidak pernah hebat dalam byte benar-benar meremas. Anda harus mempostingnya sebagai milik Anda C! Kurva jantung adalah domain publik :)

15

Python, 210 karakter

Tentu saja, ini tidak akan menang karena ini adalah kode golf, tetapi saya ingin menjadi kreatif dan saya belum menggunakan kata itu Lovedalam kode sumber saya:

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'))

Ini adalah output:

   Love          Love
  LoveLoveLoveLoveLove
LoveLoveLoveLoveLoveLove
LoveLoveLoveLoveLoveLove
LoveLoveLoveLoveLoveLove
  LoveLoveLoveLoveLove
    LoveLoveLoveLove
      LoveLoveLove
          Love

Saya suka pendekatan Anda ^ _ ^
Navin

1
Menggunakan gzip tidak terlalu kreatif ...
nyuszika7h

15

Scala - 273 Karakter

Yah, saya tentu tidak berharap menang untuk singkatnya, tetapi saya ingin melihat apakah saya bisa melakukannya di Scala. Seorang pegolf yang lebih pintar mungkin bisa mencukur beberapa byte, tetapi inilah yang saya dapat:

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}

Atau, jika Anda lebih suka (kode masih valid!)

  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}

Mencetak dua setengah lingkaran dan segitiga ke layar, membuat faksimili yang lumayan bagus.Gambar output heart.scala

Perlu dijalankan dengan scala interpreter (kompilasi akan membutuhkan penambahan beberapa tambahan untuk object Main { def main(args: Array[String]) = { ... } }dan saya hanya belum memilikinya.


2
@epidemian Saya mungkin bisa membuatnya lebih seperti hati normal, tapi saya salah menilai ukuran kode dan terlalu malas. Jadi saya membuat ekor sebagai gantinya. Saya suka berpura-pura itu balon: p
KChaloux

12

Python 2, 117

mencetak tepat 20 lovedetik secara horizontal.

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

keluaran:

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

Membuang beberapa karakter dengan: menggunakan penampung huruf tunggal dalam string baris ke-2 lalu karakter tersebut replace(); pada baris ke-3 printubahlah satu +ke ,dan 10 dengan 9; pada baris terakhir gunakan nilai variabel x. pastebin.com/i1TSEZfE
manatwork

@manatwork Terima kasih. Mengedit tubuh sekarang hingga 121 karakter :-)
Wasi

Apakah Anda menghitung tiga garis loves vertikal di sisi kanan yang Anda dapatkan dengan menggoncangkan garis horizontal love?
Joshua Taylor

@ JoshuaTaylor Terima kasih, saya tidak memperhatikan garis vertikal loveitu. Termasuk yang lovedihitung adalah 23: D
Wasi

11

Perl - 36 byte

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

Keluaran:

  LoveLove    LoveLove
LoveLoveLoveLoveLoveLove
  LoveLoveLoveLoveLove
    LoveLoveLoveLove
        LoveLove

Ini sedikit curang; itu akan mencetak Lovesatu kali untuk setiap dua karakter spasi non-putih dalam kode sumber. Dengan spasi yang dibutuhkan untuk membuat bentuk hati, kodenya panjangnya 61 byte: rata hanya 36 byte:

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

Perl - 60 byte

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

Output sebagai berikut:

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

Tepat 20 Love.


Penjelasan Singkat
berdasarkan permintaan

  • for'3h112a05e0n1l2j4f6b9'=~/./g
    Ini mengubah pernyataan cetak, dan mengulangi setiap karakter. Regex /./jelas cocok dengan satu karakter, dan dalam konteks daftar /./gakan mengembalikan daftar semua karakter dalam string. Cara yang lebih umum, tetapi sedikit lebih lama untuk menulis ini adalah for split//,'3h112a05e0n1l2j4f6b9'.
  • print$"x(15&ord),Love,$/x/\D/
    Variabel khusus $"default ke spasi. Nilai ord dari masing-masing karakter mod 16 menyimpan ruang angka yang dibutuhkan antara masing-masing Lovemelalui pengulangan string ( x). Akhirnya, jika karakter bukan digit ( /\D/), nilai $/, yang defaultnya "\n"ditempelkan di akhir.

program kedua Anda melempar kesalahan: "kesalahan sintaks di -e baris 1, dekat" / \ D / for3h112a05e0n1l2j4f6b9 " (mencoba memohon dari menggunakan perintah -e)
Tomas

Dari baris perintah, Anda harus mengganti $"dengan ' ':perl -e "print' 'x(15&ord),Love,$/x/\D/for'3h112a05e0n1l2j4f6b9'=~/./g"
primo

OK, trik yang bagus!
Tomas

Versi 36 byte sebenarnya tidak mencetak output yang diperlukan
Tobia

1
@sababque selesai.
Primo

6

Bahasa Wolfram (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}]

masukkan deskripsi gambar di sini


5

Javascript - 147 141 137 133 karakter

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

Catatan: Saya mengirim jawaban lain, tetapi yang ini menggunakan pendekatan yang berbeda dan hati memiliki bentuk yang berbeda.

Bagaimana itu bekerja :

masukkan deskripsi gambar di sini

Pertama, saya membuat berlian (persamaan |x|+|y|) lalu, saya menggabungkan dua lingkaran di atas. nilai x dicerminkan (jadi hanya satu lingkaran yang diperlukan).


1
Anda bisa mempersingkat kode Anda dengan menghapus angka 0sebelum mengambang dan menetapkan Math.abske variabel.
Florent

Anda juga mungkin ingin menghapus dua titik koma yang tidak berguna dari akhir untuk menghemat beberapa byte.
VisioN

4

Sclipting - 28 karakter / 56 byte

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

Keluaran:

    LOVE    LOVE
  LOVELOVELOVELOVE
LOVELOVELOVELOVELOVE
  LOVELOVELOVELOVE
    LOVELOVELOVE
      LOVELOVE
        LOVE

(Atau dalam 24 karakter: 긢꼙겱딧꽔밂各감啃갰啃긂밀⓶復냄뭖끐⓷復겠⓸復終- tetapi ini menggunakan instruksi, yang saya tambahkan setelah tantangan ini diposting, sehingga tidak masuk hitungan.)
Timwi

Ini adalah 84 byte.
tobyink

Tidak, ini 56 byte sebagai UTF-16.
Timwi

@ Timwi bagi saya ukurannya 58 byte. Aneh.
Primo

@primo: It’s 56 bytes. If you saved it as “Unicode” in Windows Notepad, you get a 58 byte file that consists of the UTF-16 BOM (2 bytes) plus the 56-byte program.
Timwi

4

JavaScript - 136 121 115 113 characters

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

To run : copy paste into browser console (eg : Chrome or Firefox)


["L","o","v","e"] => "Love"akan menghemat 11 byte.
VisioN

Tetap :). Terima kasih atas sarannya.
tigrou

3

C, 116 chars

(Saya tidak tahu apakah ini cukup berbentuk hati ... mengisi bagian dalam tiga lingkaran untuk menghasilkan output.)

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) ];
}

Keluaran:

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

Sebelumnya dalam proses bermain golf, sebelum mengganti ekspresi konstan (ubah Muntuk menyesuaikan ukuran):

#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) ];
  }
}

Saya juga merasa harus melakukan ini. : 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)];}

Opsi / kompiler mistik apa yang harus Anda gunakan untuk mengompilasinya? All variables in C are typed en.wikibooks.org/wiki/C_Programming/Variables
Micka

1
@Micka global variables are implicitly declared as int, a legacy feature borrowed from pre-ANSI-C. It compiles just fine for me with clang foo.c or gcc -std=c99 foo.c (though, with plenty of warnings). Do you get any errors? I don't know C well enough to gurantee that I don't depend on undefined behaviour, but I believe I don't do that.
FireFly

1
Hrm, apparently it's not sanctioned by any of the standards--I thought it was legal in C90 at least, but alas, it isn't. So it's just a legacy thing left from pre-ANSI-C that most compilers support anyway (see [this footnote](en.wikipedia.org/wiki/… on wikipedia e.g.).
FireFly

3

Ruby, 47, or Golfscript, 41

Boring answer.

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

Golfscript version:

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

Output:

 Love  Love
LoveLoveLove
LoveLoveLove
LoveLoveLove
LoveLoveLove
LoveLoveLove
LoveLoveLove
    Love

32
Lol, what an ugly heart! :D
Abbas

3

Ruby - 113 Characters

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)}

Output:

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            

To be more clear

enter image description here


3

Perl - 159 characters

Not massively golfed...

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)

Here's the same with added whitespace for slightly better readability...

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
   )

Output is...

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

The complete word "Love" is contained within (vertically) 22 times, plus numerous partials.


+1 untuk kreativitas. Saya tidak akan berpikir untuk membuatnya vertikal.
Andrew Gies

3

APL, 36 karakter / byte *

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

Harus dievaluasi dengan ⎕IO←0(standarnya bervariasi berdasarkan implementasi)

* APL dapat ditulis dalam charset byte tunggal jika diperlukan (selama Anda tidak menggunakan karakter Unicode lainnya) sehingga N chars = N byte untuk tujuan penghitungan.

Keluaran:

Berisi persis 20 "Cinta"

  Love    Love
LoveLoveLoveLove
LoveLoveLoveLove
LoveLoveLoveLove
  LoveLoveLove
    LoveLove
      Love

2

Extended BrainFuck : 193 (dihitung tanpa spasi putih tidak penting)

    {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+<]
        >....[-]<<+>>]>]

Berubah menjadi:

Brainfuck: 264 (dihitung tanpa spasi putih tidak penting)

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

Anda menjalankannya dengan penerjemah bf apa pun. Ubuntu telah bfdan beefdan keduanya berfungsi dengan baik.

bf heart.bf

Output (344 bytes):

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

Kode EBF tidak dikumpulkan:

>>--> ; 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"));}}

Diformat:

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"));
    }
}

Keluaran:

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

2

Python, 334 Bytes

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")

keluaran:

enter image description here


1
Selamat datang di PPCG. Ini adalah kode golf, jadi harap sertakan jumlah byte kode Anda dalam jawabannya. Harap sebutkan bahasa apa ini.
Martin Ender

@ MartinBüttner bahasa apa maksudmu? dan ini adalah 334 byte
Yanti

1
Bahasa pemrograman tempat Anda menulis kode ini.
Martin Ender

Aku tahu ! Ini adalah Python! Oh dan Anda dapat menghapus strpanggilan dengan pengulangan string, karena *memiliki prioritas lebih tinggi daripada +.
TuxCrafting

Sebenarnya, kode ini panjangnya 682 byte.
TuxCrafting

1

Perl - 97 karakter

Jawaban ini didasarkan pada solusi Python 121 karakter @ Wasi.

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

Anda perlu menjalankan perl dengan -M5.010opsi untuk mengaktifkan fitur spesifik 5,10. Ini tampaknya diizinkan .

Fitur menarik:

  • Saya menggunakan variabel $.untuk menyimpan kata "cinta". Ini karena dapat segera diikuti dengan kata lain jika perlu. $.forsecara jelas $.dipatuhi sebagai diikuti oleh for; $_fortidak akan dianggap sebagai $_diikuti oleh forkarena $_foritu sendiri adalah nama variabel hukum.
  • $", variabel bawaan yang menunjukkan bahwa karakter yang array akan bergabung ketika diinterpolasi ke dalam string (dan default ke karakter spasi tunggal) digunakan sebagai ganti " " untuk penghematan satu karakter di sana-sini.
  • Interpolasi string Perl mengalahkan .replacemetode python secara signifikan dalam kode golf.
  • Perl for 0..4juga menangfor i in range(5)

1

CJam - 33 byte

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

Cobalah online

Keluaran:

  Love    Love
LoveLoveLoveLove
LoveLoveLoveLove
LoveLoveLoveLove
  LoveLoveLove
    LoveLove
      Love

Penjelasan:

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

Bash, 170 byte

benar-benar salinan dari programFOX :)

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
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.