Kalp şeklini çiz


34

Meydan okuma

Bir kalp şekli çizin

görüntü tanımını buraya girin

... ASCII sanatı olarak!

Sanatınızın aynen benimkine benzemesi gerekmiyor, ama bir Kalp Şekli gibi görünmesi gerekiyor.

Kalbin içi en az 20 kez "Aşk" kelimesini içermelidir

kurallar

  • Program resmi konsola yazmalı.
  • En kısa kod (bayt, herhangi bir dilde) kazanır.

Kazanan, 14 Şubat'ta Sevgililer Günü'nde seçilecek.


2
Bu bağlama özgü bilim-sanat trendini seviyorum . :)
Adam Maras,

3
Adil bir kod golf olmak için bence çıktının daha kısıtlayıcı bir tanımını yapmalısınız.
Howard

3
Birinin biyolojik olarak doğru görünen bir kalp göndermesini bekliyorum. Bunu kim yaparsa hemen benden +1 alır.
Joe

2
@JoeStead Sevgililer Günü'nün romantik nitelikleri hakkındaki düşünceleriniz şüpheli görünüyor:D
VisioN

3
Bu çok daha iyi olurdupopularity-contest
SztupY

Yanıtlar:


53

JavaScript [160 bayt]

Aşağıdaki kod biçimlendirilmemiş 160 bayt gibi görünüyor .

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

Basitçe bunu tarayıcı konsolunda çalıştırın (örn. Firebug veya Chrome Dev Tools'da).


2
Değişen /[lve]\d/için /../ve diziyi kullanarak ['','Love','\n']yol açan başka bir 10 bayt kurtaracak yerine nesnenin 150 bayt toplam fakat kaynak kalp çok iyi artık şekilli olmayacak:)
Vision

3
!!!Harika iş!!!
SpYk3HH

1
Yağ ok işlevini kullanmak çok fazla bayt kazandıracak. Değiştir function(c){returntarafından c=>ve çıkarın }. Daha kısa bir sürüm göndermelisin!
Florent

2
No. EcmaScript 6.
Florent

1
@Florent Ah! Bildiğim kadarıyla ECMAScript 6 hala deneysel ve maalesef nasıl çalıştığını test etmek hala çok zor. Kodumun ECMAScript 5 uyumlu olduğunu varsayalım :)Ancak işaret ettiğiniz için teşekkür ederiz! Umarım yakında JavaScript golf oynamakta Perl ve Python ile yarışacak ve herkes bunu deneyebilecek.
Vision

27

GolfScript: 62 57 54 karakter

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

Çıktı:

    LOVE    LOVE
  LOVELOVELOVELOVE
LOVELOVELOVELOVELOVE
  LOVELOVELOVELOVE
    LOVELOVELOVE
      LOVELOVE
        LOVE

Veya, bazı ek aşklar ve boşlukların önemsizliğinin zorunlu olarak kötüye kullanılması (84 karakter için):

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

Çıktı:

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

16

C - 183 bayt

Kazanan değil, bir sürü aşk. Nasıl çalıştığını çözebiliyor musun?

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

Çıktı:

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

6
VAltta koyarak güzel bir iş .
Ocak’ta saat

1
Kalp eğrisinin güzel kullanımı! Hala birkaç karakter kaydedebilir ve 153'e kadar düşürebilirsiniz
Çıktıyı

Çok havalı. GERÇEKTEN bayt sıkma hiç büyük olmadı. Onu kendin gibi göndermelisin C! Kalp eğrisi kamu malı :)

15

Python, 210 karakter

Tabii ki, bu bir kod golf olduğu için bu kazanamaz ama yaratıcı olmak istedim ve var olmayan kelimesini kullandı Lovebenim kaynak kodunda:

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

Bu çıktı:

   Love          Love
  LoveLoveLoveLoveLove
LoveLoveLoveLoveLoveLove
LoveLoveLoveLoveLoveLove
LoveLoveLoveLoveLoveLove
  LoveLoveLoveLoveLove
    LoveLoveLoveLove
      LoveLoveLove
          Love

Bu yaklaşımını beğendim ^ _ ^
Navin

1
Gzip kullanmak gerçekten yaratıcı değil ...
nyuszika7h

15

Scala - 273 Karakterler

Kesin olarak kısayetin kazanmasını beklemiyorum ama Scala'da yapıp yapamayacağımı görmek istedim. Daha akıllı bir golfçü muhtemelen birkaç byte'ı tıraş eder, ancak işte aldığım şey:

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}

Veya tercih ederseniz (hala geçerli kod!)

  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}

İki yarım daire yazdırır ve ekrana bir üçgen çizerek kalbin oldukça iyi bir kopyasını oluşturur.Picture of heart.scala output

Scala tercüman ile çalıştırılması gerekiyor (derleme için fazladan boşluk eklemek gerekiyor object Main { def main(args: Array[String]) = { ... } }ve ben bunların hiçbiri yok.


2
@epidemian Muhtemelen normal bir kalp gibi görünmesini sağlayabilirdim, ancak kodun boyutunu yanlış değerlendirdim ve çok tembeldim. Bu yüzden onun yerine bir kuyruk yaptım. Bir balon gibi davranmaktan hoşlanıyorum: p
KChaloux

12

Python 2, 117

loveyatay olarak tam 20 sn.

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

çıktı:

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

Bazı karakterleri şu şekilde ayırın: 2. satırın satırında tek bir harf yer tutucusu ve sonra replace()bunları kullanın; 3 hattın içinde printdeğişim biri +için ,ve 9, 10; Son satırda x'in değerini kullanın. pastebin.com/i1TSEZfE
yapıt

@manatwork Teşekkürler. Bedeni şimdi 121 karaktere düştü :-)
Wasi

loveYataydakileri şaşırtarak sağ taraftaki üç düşeyleri sayıyor musunuz love?
Joshua Taylor

@JoshuaTaylor Teşekkürler, bu dikeyleri fark etmedim love. Bunların lovesayısı 23 olacak: D
Wasi

11

Perl - 36 bayt

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

Çıktı:

  LoveLove    LoveLove
LoveLoveLoveLoveLoveLove
  LoveLoveLoveLoveLove
    LoveLoveLoveLove
        LoveLove

Bu biraz hile; o yazdırır Lovekaynak kodunda her iki beyaz olmayan boşluk karakterleri için bir kez. Kalp şeklini almak için gereken boşluk ile kod 61 bayt uzunluğundadır: düzleştirilmiştir, sadece 36 bayttır:

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

Perl - 60 bayt

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

Aşağıdakileri çıkarır:

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

Tam olarak 20 Love.


İsteğe göre kısa açıklama

  • for'3h112a05e0n1l2j4f6b9'=~/./g
    Bu , print deyimini değiştirir ve her karakter üzerinde yinelenir. Düzenli ifade /./açıkça tek bir karakterle eşleşir ve bir liste bağlamında /./gdizedeki tüm karakterlerin bir listesini döndürür. Daha yaygın, ancak bunu yazmak için biraz daha uzun bir yol olacaktır for split//,'3h112a05e0n1l2j4f6b9'.
  • print$"x(15&ord),Love,$/x/\D/
    Özel değişken $"varsayılan olarak bir boşluğa döner. Ord her karakterin nominal değerde 16 mağaza mod her biri arasında gerekli sayıda boşluk Lovedize tekrarı ile ( x). Son olarak, karakter bir rakam ( /\D/) değilse $/, varsayılan olarak "\n"sonuna kadar aranan değeri .

ikinci programınız bir hata veriyor : "-e satır 1'de" / \ D / for3h112a05e0n1l2j4f6b9 yakınında "sözdizimi hatası" (komut satırından kullanarak çağrılmaya çalışıldı -e)
Tomas

Komut satırından, değiştirmek gerekecektir $"ile ' ':perl -e "print' 'x(15&ord),Love,$/x/\D/for'3h112a05e0n1l2j4f6b9'=~/./g"
primo

Tamam, iyi numara!
Tomas

36 byte sürümü aslında gerekli çıktıyı yazdırmıyor
Tobia, 13

1
@simbabque bitti.
primo

6

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

enter image description here


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

Not: Başka bir cevap yolladım, ancak bu farklı bir yaklaşım kullanıyor ve kalbin farklı bir şekli var.

Nasıl çalışır :

enter image description here

Önce bir elmas (denklem |x|+|y|) yapıyorum, sonra üstte iki daireyi birleştiriyorum. x değerleri yansıtılır (bu nedenle yalnızca bir daire gerekir).


1
Önceki 0değişken sayılarını kaldırarak ve Math.absbir değişkene atayarak kodunuzu kısaltabilirsiniz .
Florent

Ayrıca, iki bayttan tasarruf etmek için gereksiz iki noktalı virgül sonundan kaldırmak isteyebilirsiniz.
14:11

4

Sclipting - 28 karakter / 56 bayt

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

Çıktı:

    LOVE    LOVE
  LOVELOVELOVELOVE
LOVELOVELOVELOVELOVE
  LOVELOVELOVELOVE
    LOVELOVELOVE
      LOVELOVE
        LOVE

(Veya 24 karakterde: 긢꼙겱딧꽔밂各감啃갰啃긂밀⓶復냄뭖끐⓷復겠⓸復終- ancak bu, bu zorluğun yayınlanmasından sonra eklediğim talimatı kullanır, bu yüzden sayılmaz.)
Timwi

Bu 84 bayttır.
Ocak'ta tobyink

Hayır, UTF-16 olarak 56 bayttır.
Timwi

@Timwi benim için 58 bayt ölçer. Garip.
primo

@primo: 56 bayttır. Windows Not Defteri'nde “Unicode” olarak kaydettiyseniz, UTF-16 BOM (2 byte) artı 56 byte programından oluşan 58 byte'lık bir dosya alırsınız.
Timwi

4

JavaScript - 136 121 115 113 karakter

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

Çalıştırmak için: tarayıcı konsoluna yapıştır kopyala (örneğin: Chrome veya Firefox)


["L","o","v","e"] => "Love"11 bayt kazandıracak.
Ocak'ta

Sabit :). Öneriniz için teşekkürler.
Tigrou

3

C, 116 karakter

(Bunun yeterince kalp şeklinde olup olmadığını bilmiyorum ... çıktıyı üretmek için üç dairenin içini dolduruyor.)

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

Çıktı:

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

Daha önce sabit ifadeleri değiştirmeden önce golf oyununda ( Mboyutu ayarlamak için değiştirin):

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

Ayrıca bunu yapmaya zorlandım. : 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)];}

Derlemek için ne tür mistik seçenekler / derleyiciler kullanmalısınız? All variables in C are typed en.wikibooks.org/wiki/C_Programming/Variables
Micka

1
@Micka global değişkenleri, intANSI-C öncesi ödünç alınmış eski bir özellik olarak örtük olarak bildirildi . Sadece benim için clang foo.cveya gcc -std=c99 foo.c(ancak, bol miktarda uyarı ile) derler . Herhangi bir hata aldın mı? Tanımlanmamış davranışa bağlı olmadığımı garanti etmek için C'yi yeterince iyi tanımıyorum, ama bunu yapmadığına inanıyorum .
FireFly

1
Hrm, görünüşe göre herhangi bir standart tarafından onaylanmadı - en azından C90’da yasal olduğunu düşündüm, ama ne yazık ki değil. Öyleyse, çoğu derleyicinin yine de desteklediği, ANSI-C öncesi bırakılmış eski bir şey (bkz. [Bu dipnot] ( en.wikipedia.org/wiki/… örneğin wikipedia).)
FireFly

3

Ruby, 47 veya Golfscript, 41

Sıkıcı cevap

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

Golfscript sürümü:

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

Çıktı:

 Love  Love
LoveLoveLove
LoveLoveLove
LoveLoveLove
LoveLoveLove
LoveLoveLove
LoveLoveLove
    Love

32
Lol, ne çirkin bir kalp! : D
Abbas

3

Yakut - 113 Karakter

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

Çıktı:

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            

Daha net olmak için

enter image description here


3

Perl - 159 karakter

Büyük golf sahası değil ...

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)

İşte biraz daha iyi okunabilirlik için eklenen boşluk ile aynı ...

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
   )

Çıktı ...

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

"Aşk" kelimesi 22 kez (dikey olarak) ve çok sayıda kısmi içinde bulunur.


Yaratıcılık için +1. Dikey hale getirmeyi düşünmezdim.
Andrew Gies,

3

APL, 36 chars / bytes *

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

İle değerlendirilmeli ⎕IO←0 (varsayılan, uygulamaya göre değişir)

* APL, gerektiğinde (başka bir Unicode karakteri kullanmadığınız sürece) tek baytlık bir karakter setinde yazılabilir, böylece sayım amacıyla N karakterleri = N bayt olur.

Çıktı:

Tam olarak 20 "Aşk" içerir

  Love    Love
LoveLoveLoveLove
LoveLoveLoveLove
LoveLoveLoveLove
  LoveLoveLove
    LoveLove
      Love

2

Extended BrainFuck : 193 (zorunlu olmayan boşluk olmadan sayılır)

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

Dönüşür:

Brainfuck: 264 (zorunlu olmayan boşluk olmadan sayılır)

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

Herhangi bir bf tercüman ile çalıştırın. Ubuntu sahiptir bfve beefhem güzel çalışıyor.

bf heart.bf

Çıktı (344 bayt):

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

Ungolfed EBF kodu:

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

biçimlendirilmiş:

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

Çıktı:

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

2

Python, 334 Bayt

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

çıktı:

görüntü tanımını buraya girin


1
PPCG'ye Hoşgeldiniz. Bu kod golf, bu yüzden lütfen cevabınıza kodunuzun bayt sayısını ekleyin. Lütfen bunun hangi dilde olduğunu da belirtiniz.
Martin Ender,

@ MartinBüttner ne demek istiyorsun? ve bu 334 bayttır
Yanti

1
Bu kodu yazdığınız programlama dili.
Martin Ender

Biliyorum ! Bu Python! Ah ve strdize tekrarı ile çağrıyı kaldırabilirsiniz , çünkü *daha yüksek önceliğe sahiptir +.
TuxCrafting 17:06

Aslında, bu kod 682 bayttır.
TuxCrafting 17:16

1

Perl - 97 karakter

Bu cevap @ Wasi'nin 121 karakter Python çözümüne dayanıyor.

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

İle perl çalıştırmak gerekir -M5.0105.10'a özgü özellikleri etkinleştirme seçeneği . Bu görünüşte izin verilir .

İlginç özellikler:

  • Ben $."aşk" kelimesini saklamak için değişkeni kullanıyorum . Bunun nedeni, gerekirse, hemen başka bir kelime ile takip edilebiliyor olmasıdır. $.forolarak açıkça simgeleþtirilmiþ edilir $.ve ardından for; takip ettiği $_forgibi belirtilmeyecekti $_, forçünkü$_for kendisi yasal bir değişken adıdır.
  • $"bir dizeye enterpolasyon yapıldığında dizilerin birleştirileceği karakteri temsil eden yerleşik bir değişken (ve varsayılanları tek bir boşluk karakterine) kullanılır. " "burada bir karakterin biriktirilmesi .
  • Perl'in string enterpolasyonu pitonu yener .replace yöntemini kod golfünde belirgin şekilde .
  • Perl de for 0..4benzer şekilde kazanıyorfor i in range(5)

1

CJam - 33 bayt

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

Çevrimiçi deneyin

Çıktı:

  Love    Love
LoveLoveLoveLove
LoveLoveLoveLove
LoveLoveLoveLove
  LoveLoveLove
    LoveLove
      Love

Açıklama:

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 bayt

ProgramFOX'un bir kopyası :)

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
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.