Risposte:
La monogamia non è per tutti.
Sulla base della mia risposta a Execute Prints Backwards .
#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();
Output, quando eseguito come C:
C, I love you much more than Python
Output, quando eseguito come Python:
Python , I love you much more than C
Bella versione:
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);
Uscita console:
♥♥♥♥♥ ♥♥♥♥♥♥
♥♥♥♥♥♥♥♥♥♥♥♥♥ ♥♥♥♥♥♥♥♥♥♥♥♥♥
♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥ ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
♥♥♥♥♥♥♥ JS ♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥♥
♥♥♥♥♥♥♥♥♥♥♥♥♥
♥♥♥♥♥♥♥
♥
Versione annotata:
[
// 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');
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);
}
Guarda correre online qui .
Schermata di un possibile output:
Perché complicarti troppo, quando puoi fare la cosa più semplice che funziona?
Programma:
I ♥ PHP!
Produzione:
I ♥ PHP!
BASH
Cosa c'è di meglio che SSH per la macchina di tua moglie / tuo marito e poi lasciare che la sua NIC faccia la parte divertente del codice morse lampeggiante per "Happy Valentines Day" per il tuo linguaggio di scripting preferito Sono sicuro che hai quasi iniziato con - BASH? E come sappiamo tutti i Geek, dovresti sempre tenere d'occhio la scheda NIC della tua macchina;)
#!/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
Naturalmente "morse" contiene il codice morse "tradotto" in numeri:
111131231221312213212231112312312113132132311321313111321131232122
'1' è corto, '2' è lungo e '3' è spazio. Ovviamente dovrebbe essere installato l '"ettool" obbligatorio. In caso contrario, fai il favore al coniuge di farlo.
matematica
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]]
Questa è la superficie del cuore di Taubin . Sì, mi rendo conto che la sfida richiede l'arte ASCII. Tuttavia, se hai intenzione di ridimensionarlo, non farlo perché è eccessivamente bello, fallo perché ho rubato il codice da /math/12098/drawing-heart-in-mathematica
Solo per motivi di interesse, il conteggio dei personaggi è 865 .
'=~~~~:''=<<'+~>,'+~~~>,':'''=<'+~>,<',<'+~>-~>:''''=<'+~>,<<',~~>+~>+~~:'''''=',',~~:''''''=',<<'+~>,<'+~~>+~>:'''''''=',~~+~~:
@''''':@''':@''':@''':@''':@''''':@''''':@''''':@''':@''':@''':@''':@''''''':
@'''':@''''':@''''':@''''':@''''':@'':@''''':@'''':@''''':@''''':@''''':@''''':@'':@''''''':
@'''''':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@'''''':@''''''':
@'':@''''':@|I|:@''''':@|<|:@|3|:@''''':@|~|:@|-|:@|~|:@|!|:@''''':@'''':@''''''':
@''''':@'':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@'''':@''''''':
@''''':@''''':@'':@''''':@''''':@''''':@''''':@''''':@''''':@''''':@'''':@''''''':
@''''':@''''':@''''':@'':@''''':@''''':@''''':@''''':@''''':@'''':@''''''':
@''''':@''''':@''''':@''''':@'':@''''':@''''':@''''':@'''':@''''''':
@''''':@''''':@''''':@''''':@''''':@'':@''''':@'''':@''''''':
Produzione:
____ ____
/ \ / \
| |
\ I <3 ~-~! /
\ /
\ /
\ /
\ /
\ /
Ricordi quando le persone non avevano i computer per San Valentino e dovevano incidere la loro amore sugli alberi? È quello che sto facendo:
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')
Nota: i primi valori della inside
variabile sono codificati. Produzione:
___ ___
/ \ / \
/ \/ \
|Me |
| + |
\ Python/
\ /
\ /
\ /
\ /
\/
#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();
}