Складіть побажання на Валентина зі своєю улюбленою мовою [закрито]


13

Напишіть найкреативнішу програму, щоб відобразити ваше бажання Валентина улюбленою мовою програмування цією мовою.

Напр

#!/usr/bin/perl

use Modern::Perl;

say "I love Perl";

Прийнято @ugoren
Wordzilla

Відповіді:


38

C / Поліглот Пітона / Полігаміст

Моногамія не для всіх.
На основі моєї відповіді на виконання відбитків назад .

#define def main(){0?
#define print printf(
#define return 0)));}

def main():
    print "Python",
    print ", I love you much more than ",
    print "C",
    return

main();

Вихід, коли виконується як C:

C, I love you much more than Python

Вихід, коли запускається як Python:

Python , I love you much more than  C

11
Це вигадливо блискуче.
Адам Марас

24

JavaScript (ES6)

Гарна версія:

           r=/c/g         ,n='\n'
       ,m=/.\d+/g,[,    ,'ca','8b',5,
     'a10b',6,'ca3b',  13,'a4b',1,3,'c'
    ,'a1b',16,'a2b1',5,'cb35cb',35,'ca',
    ,'1b7 JS b',22,'ca2b',31,'ca3b',29,
     ,'ca',5,'b',25,'ca7b',2,1,'ca',9,
      ,'b','17ca',11,'b13ca',14,'b',
       '7c','a1',7,'b1c'].join('').
         replace(m, c=>(c[0]!='a'?
           '\u2665':' ').repeat
              (+c.substr(1))).
                 replace(r,
                     n);

Вихід консолі:

            ♥♥♥♥♥          ♥♥♥♥♥♥
       ♥♥♥♥♥♥♥♥♥♥♥♥♥    ♥♥♥♥♥♥♥♥♥♥♥♥♥
     ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥  ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
    ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
    ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
     ♥♥♥♥♥♥♥ JS ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
      ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
       ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
         ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
           ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
             ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
               ♥♥♥♥♥♥♥♥♥♥♥♥♥
                  ♥♥♥♥♥♥♥
                     ♥

Позначена версія:

[
  // Contains the instruction to draw the heart.
  //   * `a` is a space
  //   * `b` is a heart
  //   * `c` is a line break
  // 
  // `a` and `b` instructions are followed by an integer
  // telling how many times the character should be printed.
  // 
  // Abuse JS arrays to split the string in smaller parts.
  ,,'ca','8b',5,'a10b',6,'ca3b',13,'4b13ca1b16a2b1cb35cb35ca1b7'
  // This is the text we want to display.
  ,' JS '
  // Other instructions to draw the heart.
  // This part isn't splitted for readability purpose.
  ,'bca2bca3b29ca5b25ca7b21ca9b17ca11b13ca14b7ca17b1c'
]
// Join every substring.
.join('')
// Process instructions.
.replace(
  // Match all `a` and `b` instructions.
  /.\d+/g,
  c => (
    // Fetch the right character.
    c[0] != 'a'
      ? '\u2665' // `b` Heart
      : ' '      // `a` Space
  )
  // Repeat the character.
  .repeat(
    // Extract the number from the instruction.
    +c.substr(1)
  )
)
// Replace `c` by a line break.
.replace(/c/g,'\n');

13

Обробка

public static final int px = 25;
public static final int rectRad = 3;
PFont font;

public boolean[][] used;
public int[] heart = {
               65, 66, 67,                 72, 73, 74,
           84, 85, 86, 87, 88,         91, 92, 93, 94, 95,
      103,104,105,106,107,108,109,110,111,112,113,114,115,116,
  122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,
  142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,
  162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,
      183,184,185,186,187,188,189,190,191,192,193,194,195,196,
          204,205,206,207,208,209,210,211,212,213,214,215,
          224,225,226,227,228,229,230,231,232,233,234,235,
              245,246,247,248,249,250,251,252,253,254,
                  266,267,268,269,270,271,272,273,
                      287,288,289,290,291,292,
                          308,309,310,311,
                              329,330
                                 };
void setup() {
  size(500, 500);
  background(255);
  stroke(127+64);
  strokeWeight(1.75);
  //font=loadFont("Font1.vlw");
  font=createFont("Purisa",28);
  textFont(font,28);
  frameRate(50);
  used = new boolean[width/px][height/px]; // initialised to false by default
}

void draw() {
  int i, j;
  int drawingframes = width * height / px / px;
  int textframesdelay = (int)(500 * frameRate / 1000);
  do {
    i=(int)random(0, width / px);
    j=(int)random(0, height / px);
  } while(used[i][j] && frameCount <= drawingframes);
  used[i][j] = true;
  if(frameCount > drawingframes + textframesdelay) {
    noLoop();
    return;
  } else if(frameCount == drawingframes + textframesdelay) {
    fill(63 + 32);
    text("Dear Processing,", 10, 50);
    text("Happy Valentine's Day!", 80, 200);
    text("Love,\nAce", 10, 430);
    return;
  } else if(frameCount > drawingframes) {
      return; // effectively creating a small delay after drawing the tiles
              // and before writing the text
  }
  int R = (int)random(64, 255 - 64);
  int G = (int)random(128, 255);
  int B = (int)random(128, 255);
  int alpha = (int)random(55, 85);
  int hash = j * width / px + i;
  if(java.util.Arrays.binarySearch(heart,hash)>=0) {
  //if(heart.indexOf(hash) >= 0) {
    R = (int)random(128 + 64, 255);
    G = (int)random(0, 63);
    B = (int)random(0, 63);
    alpha = (int)random(70, 100);
  }
  fill(R, G, B, alpha);
  rect(i * px, j * px, px, px, rectRad, rectRad, rectRad, rectRad);
}

Дивіться, як це працює в Інтернеті тут .

Знімок екрана одного можливого виходу: введіть тут опис зображення


3
Хороший. Мені сподобалось.
Merin Nakarmi

8

Befunge 98

"/\ "7k:a"/ ":"\ "6k:a"/ "2k:"\ "5k:a"/ ":"89 ":"\ "4k:a"/ "6k:"\ "3k:a"| ":"egnufeB | "2k:a"| "8k:"| "2k:a"\ /____\ / "3k:a'_' 5k:'_\4k:a"?enitnelaV ym eb uoy lliW"aa >:!2+j4,<@

Вихід (як зображення, тому що в консолі виглядає приємніше, ніж тут):


5

PHP

Чому надскладний, коли ти можеш зробити найпростішу річ, яка працює?

Програма:

I ♥ PHP!

Вихід:

I ♥ PHP!

5
Йдеться не про найкоротший код - це про найкреативніший і найкрасивіший.
german_guy

3

БАШ

Що краще, ніж SSH для вашої дружини / чоловіка, а потім дозвольте їй NIC зробити найцікавішу частину миготілого коду morse для "З днем ​​святого Валентина" для вашої улюбленої мови сценарію Я впевнений, що ви майже все починали з - БАШ? І як ми всі Geeks знаємо - ви завжди повинні придивлятися до NIC вашої машини;)

#!/bin/bash

#.... .- .--. .--. -.-- ...- .- .-.. . -. - .. -. . ... -.. .- -.--
#1111 12 1221 1221 2122 1112 12 1211 1 21 2 11 21 1 111 211 12 2122

while IFS= read -r -n1 char
do
    ethtool eth0 p$char
done < morse

Звичайно, "morse" містить код морза, "перекладений" на числа:

111131231221312213212231112312312113132132311321313111321131232122

'1' короткий, '2' - довгий, а '3' - пробіл. Очевидно, що слід встановити обов'язковий "етоол". Якщо ні, то зробіть дружині прихильність до цього.


3

ОСНОВНІ

Просто тому, що ми всі писали один раз про це, і це справді єдиний стиль, який справді виражає просте чесне серце цієї мови.

10 PRINT "HAPPY VALENTINES DAY BASIC"
20 GOTO 10

3

Математика

ContourPlot3D[(2 x^2 + y^2 + z^2 - 1)^3 - (1/10) x^2 z^3 - y^2 z^3 == 
  0, {x, -1.5, 1.5}, {y, -1.5, 1.5}, {z, -1.5, 1.5}, Mesh -> None, 
 ContourStyle -> Opacity[0.8, Red]]

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

Це поверхня серця Таубіна . Так, я усвідомлюю, що виклик вимагає мистецтва ASCII. Однак, якщо ви збираєтесь переконатись у цьому, не робіть цього, тому що це надзвичайно красиво, робіть це, тому що я вкрав код з /math/12098/drawing-heart-in-mathematica


2

~ - ~!

Тільки заради інтересу кількість персонажів - 865 .

'=~~~~:''=<<'+~>,'+~~~>,':'''=<'+~>,<',<'+~>-~>:''''=<'+~>,<<',~~>+~>+~~:'''''=',',~~:''''''=',<<'+~>,<'+~~>+~>:'''''''=',~~+~~:
@''''':@''':@''':@''':@''':@''''':@''''':@''''':@''':@''':@''':@''':@''''''':
@'''':@''''':@''''':@''''':@''''':@'':@''''':@'''':@''''':@''''':@''''':@''''':@'':@''''''':
@'''''':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@'''''':@''''''':
@'':@''''':@|I|:@''''':@|<|:@|3|:@''''':@|~|:@|-|:@|~|:@|!|:@''''':@'''':@''''''':
@''''':@'':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@'''':@''''''':
@''''':@''''':@'':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@'''':@''''''':
@''''':@''''':@''''':@'':@''''':@''''':@''''':@''''':@''''':@'''':@''''''':
@''''':@''''':@''''':@''''':@'':@''''':@''''':@''''':@'''':@''''''':
@''''':@''''':@''''':@''''':@''''':@'':@''''':@'''':@''''''':

Вихід:

 ____   ____
/    \ /    \
|           |
\ I <3 ~-~! /
 \         /
  \       /
   \     /
    \   /
     \ /

2

Пітон

Пам’ятаєте, коли люди не мали комп’ютерів для Валентина і їм доводилося протравлювати кохання на деревах? Ось що я роблю:

def valentine(person1,person2):
    leading_whitespace = range(0,4)[::-1] +[0]+range(0,8)
    inside = [3,5,14,14]+range(0,15)[::-1][::2]
    layers = ["  ___    ___",r" /   \  /   \ ",r'/     \/     \ ','|             |']
    for i in range(5,12):
        layers.append(' ' * leading_whitespace[i] + '\\' + ' ' * inside[i] + '/')
    #inserts person1 into layers[4]
    temp = []
    for char in layers[3]: temp.append(char)
    temp[1:len(person1)+1] = person1
    layers[3] = ''.join(temp)

    temp = []
    layers[4] = '|      +     |'

    # do that again for person2
    for char in layers[5]: temp.append(char)
    temp[-len(person2)-1:-1] = person2
    layers[5] = ''.join(temp)

    print '\n'.join(layers)

valentine('Me','Python')

Примітка: перші значення insideзмінної жорстко закодовані. Вихід:

  ___    ___
 /   \  /   \ 
/     \/     \ 
|Me           |
|      +     |
 \    Python/
  \        /
   \      /
    \    /
     \  /
      \/

Але в коді не використовуються дерева.
угорен


-3
#include<stdio.h>
#include<conio.h>
main();
{
  int i, n;
   printf(" enter n=");
    scanf("%d",&n);
         for(i=0;i<n;i++)
      {
          printf(" i love you honey ");
      }  
         scanf("%d",&i);
        getch();
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.