Dessiner la forme de coeur

34

Défi

Dessiner une forme de coeur

entrez la description de l'image ici

... comme de l'art ASCII!

Votre art ne doit pas nécessairement ressembler au mien, mais il doit ressembler à une forme de coeur.

L'intérieur du cœur doit contenir les mots "Amour" au moins 20 fois

Règles

  • Le programme doit écrire l’art sur la console.
  • Le code le plus court (en octets, toutes les langues) l'emporte.

Le gagnant sera choisi le 14 février à la Saint Valentin

Ballot d'ordinateur
la source
2
J'aime cette tendance ascii-art spécifique au contexte . :)
Adam Maras
3
Afin d’être un code-golf équitable, je pense que vous devriez donner une définition plus restrictive de la sortie.
Howard
3
J'attends que quelqu'un présente un cœur biologiquement précis. Celui qui fait ça reçoit immédiatement un +1 de moi.
Joe
2
@JoeStead Vos idées sur les attributs romantiques de la Saint-Valentin semblent suspectes:D
VisioN
3
Cela aurait été beaucoup mieux en tant quepopularity-contest
SztupY

Réponses:

53

JavaScript [160 octets]

Le code suivant semble être 160 octets non formaté.

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

Exécutez-le simplement dans la console du navigateur (par exemple, dans Firebug ou Chrome Dev Tools).

Vision
la source
2
Changer /[lve]\d/à /../et tableau en utilisant à la ['','Love','\n']place de l' objet permettra d' économiser encore 10 octets menant à 150 octets au total, mais le cœur source ne sera pas que bien plus en forme:)
VisioN
3
!!!Emploi super!!!
SpYk3HH
1
L'utilisation de la grosse flèche économisera beaucoup d'octets. Remplacer function(c){returnpar c=>et enlever }. Vous devriez poster une version plus courte!
Florent
2
No. EcmaScript 6.
Florent
1
@Florent Ah! Autant que je sache, ECMAScript 6 est encore expérimental et malheureusement, il est toujours très difficile de tester son fonctionnement. Supposons que mon code est compatible ECMAScript 5, :)mais merci de le signaler! J'espère que JavaScript sera bientôt en concurrence avec Perl et Python en matière de golf et que tout le monde pourra l'essayer.
VisioN
27

GolfScript: 62 57 54 caractères

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

Sortie:

    LOVE    LOVE
  LOVELOVELOVELOVE
LOVELOVELOVELOVELOVE
  LOVELOVELOVELOVE
    LOVELOVELOVE
      LOVELOVE
        LOVE

Ou, pour un amour ajouté, et l'abus obligatoire de l'insignifiance des espaces (pour 84 caractères):

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

Sortie:

     ♥LOVE♥        ♥LOVE♥
  ♥LOVE♥♥LOVE♥  ♥LOVE♥♥LOVE♥
♥LOVE♥♥LOVE♥♥LOVE♥♥LOVE♥♥LOVE♥
   ♥LOVE♥♥LOVE♥♥LOVE♥♥LOVE♥
      ♥LOVE♥♥LOVE♥♥LOVE♥
         ♥LOVE♥♥LOVE♥
            ♥LOVE♥
               ♥
Ben Reich
la source
16

C - 183 octets

Pas un gagnant, mais tout un amour. Pouvez-vous comprendre comment cela fonctionne?

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

Sortie:

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

la source
6
Beau boulot de mettre Ven bas.
luser droog
1
Belle utilisation de la courbe du coeur! Vous pouvez toujours sauvegarder quelques caractères et descendre à 153 (j'ai également légèrement modifié la sortie au prix d'un octet ajouté): ideone.com/ELnkEE
reima
Très sympa. Je n'ai jamais été très doué pour compresser VRAIMENT les octets. Vous devriez le poster comme le vôtre C! La courbe de coeur est du domaine public :)
15

Python, 210 caractères

Bien sûr, cela ne gagnera pas car c'est un code golf, mais je voulais être créatif et je n'ai pas utilisé le mot Lovedans mon code source:

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

C'est la sortie:

   Love          Love
  LoveLoveLoveLoveLove
LoveLoveLoveLoveLoveLove
LoveLoveLoveLoveLoveLove
LoveLoveLoveLoveLoveLove
  LoveLoveLoveLoveLove
    LoveLoveLoveLove
      LoveLoveLove
          Love
ProgramFOX
la source
J'aime votre approche ^ _ ^
Navin
1
Utiliser gzip n'est pas vraiment créatif ...
nyuszika7h
15

Scala - 273 personnages

Eh bien, je ne m'attends certainement pas à gagner pour la brièveté, mais je voulais voir si je pouvais le faire à Scala. Un golfeur plus intelligent pourrait probablement supprimer plusieurs octets, mais voici ce que j'ai obtenu:

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}

Ou, si vous préférez (code toujours valide!)

  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}

Imprime deux demi-cercles et un triangle sur l’écran, créant ainsi un fac-similé assez décent du cœur.Picture of heart.scala output

Doit être exécuté avec l’interprète scala (la compilation nécessiterait un peu plus de travail object Main { def main(args: Array[String]) = { ... } }et je n’ai rien d’autre.

KChaloux
la source
2
@epidemian J'aurais probablement pu faire en sorte qu'il ressemble davantage à un cœur normal, mais j'ai mal évalué la taille du code et j'étais trop paresseux. Alors j'ai fait une queue à la place. J'aime prétendre que c'est un ballon: p
KChaloux
12

Python 2, 117

imprime exactement 20 loves horizontalement.

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

sortie:

   love    love
love lovelove love
love   love   love
love          love
 love        love
  love      love
   love    love
    love  love
       love
Étais-je
la source
Épargnez quelques caractères en: utilisez un espace réservé à une seule lettre dans la chaîne de la deuxième ligne, puis replace()les; dans la 3ème ligne, printchangez un +en ,et 10 avec 9; dans la dernière ligne, utilisez la valeur de la variable x. pastebin.com/i1TSEZfE
manatwork le
@manatwork Merci. Édité le corps maintenant à 121 caractères :-)
Wasi
Comptez-vous les trois verticales lovedu côté droit que vous avez obtenues en décalant les horizontales love?
Joshua Taylor
@ JoshuaTaylor Merci, je n'ai pas remarqué ces loves verticales . Y compris ceux-ci le lovecompte sera 23: D
Wasi
11

Perl - 36 octets

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

Sortie:

  LoveLove    LoveLove
LoveLoveLoveLoveLoveLove
  LoveLoveLoveLoveLove
    LoveLoveLoveLove
        LoveLove

C'est un peu un tricheur; il imprimera Loveune fois pour deux caractères non blancs dans le code source. Avec les espaces requis pour former le cœur, le code a une longueur de 61 octets; aplati, il n’ya que 36 octets:

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

Perl - 60 octets

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

Affiche les éléments suivants:

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

Exactement 20 Love.


Brève explication
sur demande

  • for'3h112a05e0n1l2j4f6b9'=~/./g
    Cela modifie l'instruction print et effectue une itération sur chaque caractère. L'expression rationnelle /./correspond évidemment à un seul caractère et, dans un contexte de liste /./g, renverra une liste de tous les caractères de la chaîne. Ce serait un moyen plus courant, mais légèrement plus long, d’écrire for split//,'3h112a05e0n1l2j4f6b9'.
  • print$"x(15&ord),Love,$/x/\D/
    La variable spéciale utilise par $"défaut un espace. La ord valeur Inal de chaque caractère mod 16 stocke les espaces numériques nécessaires entre chaque Lovevia répétition de chaîne ( x). Enfin, si le caractère n'est pas un chiffre ( /\D/), la valeur par $/défaut de "\n"est fixée à la fin.
primo
la source
votre deuxième programme génère une erreur: "erreur de syntaxe à -e ligne 1, près de" / \ D / for3h112a05e0n1l2j4f6b9 " (a tenté d'appeler à partir de la ligne de commande avec -e)
Tomas
De la ligne de commande, vous devrez remplacer $"par ' ':perl -e "print' 'x(15&ord),Love,$/x/\D/for'3h112a05e0n1l2j4f6b9'=~/./g"
primo
OK, bon tour!
Tomas
La version à 36 octets n'imprime pas la sortie requise
Tobia
1
@ le Zimbabwe fait.
dimanche
6

Wolfram Language (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

bruissement
la source
5

Javascript - 147 141 137 133 caractères

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

Remarque: j'ai posté une autre réponse, mais celle-ci utilise une approche différente et le cœur a une forme différente.

Comment ça marche :

enter image description here

Tout d'abord, je rends un diamant (l'équation est |x|+|y|), puis, je combine deux cercles sur le dessus. Les valeurs x sont reflétées (un seul cercle suffit).

tigrou
la source
1
Vous pouvez raccourcir votre code en supprimant les 0nombres flottants avant et en affectant Math.absune variable.
Florent
Aussi, vous voudrez peut-être supprimer deux points-virgules inutiles de la fin pour sauvegarder deux autres octets.
VisioN
4

Sclipting - 28 caractères / 56 octets

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

Sortie:

    LOVE    LOVE
  LOVELOVELOVELOVE
LOVELOVELOVELOVELOVE
  LOVELOVELOVELOVE
    LOVELOVELOVE
      LOVELOVE
        LOVE
Timwi
la source
(Ou en 24 caractères: 긢꼙겱딧꽔밂各감啃갰啃긂밀⓶復냄뭖끐⓷復겠⓸復終- mais cela utilise l' instruction, que j'ai ajoutée après que ce défi ait été posté, donc ça ne compte pas.)
Timwi
C'est 84 octets.
tobyink
Non, c'est 56 octets en UTF-16.
Timwi
@ Timwi pour moi, il mesure 58 octets. Impair.
Primo
@primo: C'est 56 octets. Si vous l'avez enregistré en tant que “Unicode” dans le Bloc-notes Windows, vous obtenez un fichier de 58 octets comprenant la nomenclature UTF-16 (2 octets) et le programme de 56 octets.
Timwi
4

JavaScript - 136 121 115 113 caractères

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

Pour exécuter: copier coller dans la console du navigateur (par exemple: Chrome ou Firefox)

tigrou
la source
["L","o","v","e"] => "Love"permettra d'économiser 11 octets.
VisioN
Fixé :). Merci pour la suggestion.
Tigrou
3

C, 116 caractères

(Je ne sais pas si c'est assez en forme de coeur ... remplit l'intérieur de trois cercles pour produire la sortie.)

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

Sortie:

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

Plus tôt dans le processus de golf, avant de remplacer les expressions constantes (modifier Mpour ajuster la taille):

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

Je me suis aussi senti obligé de le faire. : 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)];}
Luciole
la source
Quel type d'options mystiques / compilateur devriez-vous utiliser pour le compiler? All variables in C are typed fr.wikibooks.org/wiki/C_Programming/Variables
Micka
1
Les variables globales @Micka sont implicitement déclarées en tant intque fonctionnalité héritée de la version antérieure à ANSI-C. Il compile parfaitement pour moi avec clang foo.cou gcc -std=c99 foo.c(cependant, avec beaucoup d'avertissements). Avez-vous des erreurs? Je ne connais pas assez C pour m'assurer que je ne dépend pas d'un comportement indéfini, mais je crois que je ne le fais pas.
FireFly
1
Hmm, apparemment, cela n’est sanctionné par aucune des normes - j’ai pensé que c’était au moins légal, mais hélas, ce n’est pas le cas. C'est donc un héritage de la pré-ANSI-C que la plupart des compilateurs supportent de toute façon (voir [cette note de bas de page] ( en.wikipedia.org/wiki/… sur Wikipédia par exemple).
FireFly le
3

Ruby, 47 ans, ou Golfscript, 41 ans

Réponse ennuyeuse.

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

Version de Golfscript:

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

Sortie:

 Love  Love
LoveLoveLove
LoveLoveLove
LoveLoveLove
LoveLoveLove
LoveLoveLove
LoveLoveLove
    Love
Poignée de porte
la source
32
Lol, quel coeur laid! : D
Abbas
3

Ruby - 113 Caractères

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

Sortie:

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            

Pour être plus clair

entrez la description de l'image ici

Shiva
la source
3

Perl - 159 caractères

Pas massivement joué au golf ...

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)

Voici la même chose avec des espaces ajoutés pour une lisibilité légèrement meilleure ...

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
   )

La sortie est ...

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

Le mot complet "Amour" est contenu à l'intérieur (verticalement) 22 fois, plus de nombreux partiels.

tobyink
la source
+1 pour la créativité. Je n'aurais pas pensé à le rendre vertical.
Andrew Gies
3

APL, 36 caractères / octets *

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

Doit être évalué avec ⎕IO←0 (la valeur par défaut varie selon l'implémentation)

* APL peut être écrit dans un jeu de caractères sur un octet si nécessaire (tant que vous n'utilisez aucun autre caractère Unicode), donc N caractères = N octets aux fins de comptage.

Sortie:

Contient exactement 20 "Love"

  Love    Love
LoveLoveLoveLove
LoveLoveLoveLove
LoveLoveLoveLove
  LoveLoveLove
    LoveLove
      Love
Tobia
la source
2

BrainFuck étendu : 193 (compté sans espaces blancs non essentiels)

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

Se transforme en:

Brainfuck: 264 (comptés sans espaces blancs non essentiels)

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

Vous le lancez avec n’importe quel interprète. Ubuntu a bfet beefet les deux fonctionnent bien.

bf heart.bf

La sortie (344 octets):

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

Code EBF non-golé:

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

Formaté:

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

Sortie:

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

Python, 334 octets

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

sortie:

entrez la description de l'image ici

Yanti
la source
1
Bienvenue chez PPCG. Ceci est un code golf, alors veuillez inclure le nombre d'octets de votre code dans la réponse. Veuillez également indiquer quelle langue il s'agit.
Martin Ender
@ MartinBüttner de quelle langue parlez-vous? et ceci est 334 octets
Yanti
1
Le langage de programmation dans lequel vous avez écrit ce code.
Martin Ender
Je sais ! Ceci est Python! Oh, et vous pouvez supprimer l’ strappel avec des répétitions de chaîne, car *sa priorité est supérieure à celle de +.
TuxCrafting
En réalité, ce code a une longueur de 682 octets.
TuxCrafting
1

Perl - 97 caractères

Cette réponse est basée sur la solution Python à 121 caractères de @ Wasi.

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

Vous devez exécuter perl avec l' -M5.010option d'activation des fonctionnalités spécifiques à 5.10. Ceci est apparemment autorisé .

Caractéristiques intéressantes:

  • J'utilise la variable $.pour stocker le mot "amour". C'est parce qu'il peut être immédiatement suivi d'un autre mot si nécessaire. $.forest marqué sans ambiguïté comme $.suit par for; $_forne serait pas tokenisé comme $_suit par forcar $_forest lui-même un nom de variable légal.
  • $", une variable intégrée représentant ce caractère auquel les tableaux seront joints lors de l'interpolation dans une chaîne (et par défaut un caractère d'espacement unique) est utilisée à la place de " " économie d'un personnage ici et là.
  • L'interpolation de chaîne de Perl bat le python .replace méthode manière significative dans le golf de code.
  • Perl for 0..4gagne pareillementfor i in range(5)
tobyink
la source
1

CJam - 33 octets

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

Essayez-le en ligne

Sortie:

  Love    Love
LoveLoveLoveLove
LoveLoveLoveLove
LoveLoveLoveLove
  LoveLoveLove
    LoveLove
      Love

Explication:

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)
Aditsu
la source
0

Bash, 170 octets

totalement une copie de 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
Newbrict
la source