¿Qué es lo mejor que puede hacer una computadora en 10 líneas de código?

Recientemente aprendí python y web scraping. Después de aprender un poco de selenio, se me ocurrió la idea de enviar spam a mis amigos en WhatsApp.

Ahora, dado que el selenio funciona en sitios web, debe iniciar sesión en la versión web recientemente lanzada de WhatsApp. Utilicé el navegador Firefox, puedes elegir el que quieras. Después de abrir WhatsApp Web, debe escanear el código QR. Como eso no se puede hacer mediante programación, el programa se detiene hasta que escanee el código y después de escanear debe ingresar algo en la consola para reanudar el programa. Puede usar un contador para especificar la cantidad de veces que se enviará el mensaje, utilicé un bucle infinito y terminé el programa según mis necesidades.

  desde selenium import webdriver
 b = webdriver.Firefox ()
 b.get ('http://web.whatsapp.com')
 entrada()
 elem = b.find_element_by_xpath ('// span [contiene (texto (), "Nombre de tu amigo")]')
 elem.click ()
 elem1 = b.find_elements_by_class_name ('input')
 mientras cierto:
	 elem1 [1] .send_keys ('Tu whatsapp está pirateado')
	 b.find_element_by_class_name ('compose-btn-send'). click ()

Fue divertido ver las reacciones de las personas. Algunos amigos terminaron declarando mi número como spam en truecaller 😀

Editar: se actualizó el código. Desde whatsapp ha cambiado el nombre de la clase del botón enviar ¡Gracias a Naveen por esta edición!

Problema de compatibilidad: Selenium Webdriver 2.53.0 funciona bien con Firefox 46.0. Puede descargar Firefox 46.0 desde aquí – /pub/firefox/releases/46.0/

Nota:

Como lo señaló Karan Dev: para Python 2.7, la función “input ()” generará una excepción cuando ingresas cualquier carácter o cadena aleatorio, ya que intentará evaluar lo que ingreses. En su lugar, puede usar “raw_input ()” que aceptará la entrada como cadena.

Como señaló Nikhil Wani: Active Desktop Notification en Firefox (mac) para que esto funcione. El script arrojaría una excepción si eso no se hace antes o después de escanear el código QR.

Recientemente comencé a aprender js, así que cree este programa que le permita enviar un mensaje de WhatsApp varias veces a través del sitio web de WhatsApp: p

El WhatsApp tiene un límite de 4000 emogis a la vez que puede enviar después de eso, también se bloquea en el lado del remitente y del receptor: p

Aquí está el código, simplemente conecte su WhatsApp a su PC usando el sitio web de WhatsApp usando el escáner de código interno de WhatsApp y abra el destinatario al que desea enviar el mensaje varias veces y moleste a su amigo: p luego abra la consola en su navegador usando control + shift + j to open console and paste this code y dejar que comience el juego: p

Aquí está el código, he agregado algunos comentarios e indentaciones (lo que ha aumentado las líneas de códigos) para configurar el código usted mismo:

  // control + shift + j para abrir la consola y pegar
 recuento var = 4000;  // número de veces para enviar
 var message = "mensaje de spam nr";  // mensaje de spam 
 var i = 0; var timer = setInterval (function () {
     var evt = document.createEvent ("TextEvent");
     evt.initTextEvent ("textInput", verdadero, verdadero, ventana, mensaje + i, 0, "en-US");
     document.querySelector (". input-container .input"). focus ();
     document.querySelector (". input-container .input"). dispatchEvent (evt);
     i ++; if (i == count) clearInterval (timer); console.log (i + "mensajes enviados"); var event = new MouseEvent ('click', {'view': window, 'bubbles': true, ' cancelable ': verdadero}); document.querySelector (". icon.btn-icon.icon-send"). dispatchEvent (evento);
 }, 10);

Aquí está la captura de pantalla de la broma : p :

Úselo sabiamente con sus amigos, pueden enojarse 😛

Edit1: ¡Gracias a todos por los votos!

Edit2: Aquí está mi enlace github para traducir al código python: –

Superhuman07 / Whatsapp-Multiple-Messenger-Bot

¡Y aquí está mi perfil de github para proyectos más geniales!

Sobrehumano07 (Rahul Bhatia)

¡Gracias de nuevo!

10 lineas? Eso es demasiado, si codifica en Python, esta biblioteca onelinerizer [1] puede transformar su código en UNA LÍNEA , sin importar cuánto tiempo sea su código.

Ejemplo

antes de

  x = 3
 y = 4
 imprimir (x 

Después

  (lambda __builtin__: (lambda __print, __y, d: [[__print (dx 

antes de

  def f (x):
     retorno x + 5
 imprimir f (13)

Después

  (lambda __builtin__: (lambda __print, __y, d: [__print (df (13)) para df en [(lambda x: [(d.x + 5) para dx en [(x)]] [0])] ] [0]) (__ incorporado __.__ dict __ ['print'], (lambda f: (lambda x: x (x)) (lambda y: f (lambda * args: y (y) (* args)))), type ('StateDict', (), __ builtin __.__ dict __) ())) (__ import __ ('__ builtin__'))

Uno más complejo

antes de

  def guess_my_number (n):
     mientras cierto:
         user_input = raw_input ("Ingrese un entero positivo para adivinar:")
         if len (user_input) == 0 o no user_input.isdigit ():
             print "¡No es un entero positivo!"
         más:
             entrada_usuario = int (entrada_usuario)
             if user_input> n:
                 print "¡Demasiado grande! ¡Inténtalo de nuevo!"
             elif user_input 

Después

  (lambda __builtin__: (lambda __print, __y, d: [(lambda ___: None) (d.guess_my_number (42)) para d.guess_my_number en [(lambda n: [(__ y (lambda __this: (lambda d: (lambda __after: [(lambda __after: (lambda ___: __after (d)) (__ print ('¡No es un entero positivo!')) if (d.len (d.user_input) == 0 o (no d.user_input.isdigit ( ))) else [(lambda __after: (lambda ___: __after (d)) (__ print ('Too big! Try again!')) if d.user_input> dn else (lambda __after: (lambda ___: __after (d) ) (__ print ('¡Demasiado pequeño! ¡Inténtelo de nuevo!')) if d.user_input 

XD, no necesito 10 líneas. ¡Solo una línea, puedo hacer todo!

Notas al pie

[1] csvoss / onelinerizer

¿Por qué 10 líneas, cuando uno de los algoritmos más impresionantes y geniales se puede implementar en aproximadamente 5 líneas de código?

Señores, damas y caballeros, les presento el algoritmo de Tomohiko Sakamoto, para encontrar el día de la semana a partir de una fecha determinada .

  int dow (int y, int m, int d) {
     static int t [] = {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4};
     y - = m <3;
     retorno (y + y / 4 - y / 100 + y / 400 + t [m-1] + d)% 7;
 }

Para entender cómo funciona, consulte

¿Cómo funciona el algoritmo de Tomohiko Sakamoto?

Este sorprendente código conocido como Sleep Sort se usa para ordenar elementos sin comparación alguna.

Aquí está el código en c:

  #include 
 #include 
 #include 
 #include 
 int main (int c, char ** v)
 {while (--c> 1 &&! fork ());  
      dormir (c = atoi (v [c]));
      printf ("% d \ n", c);
      espera (0);
      devuelve 0;}

en ejecutarlo escribiendo en la consola

  ./a.out 5 1 3 2 11 6 4

obtenemos la salida:

1
2
3
4 4
5 5
6 6
11

Ahora cómo funciona el código. Básicamente imprime k después de k segundos. Por ejemplo

imprimirá 5 después de 5 segundos, 1 después de 1 segundo, 3 después de 3 segundos y así sucesivamente y, por lo tanto, obtendremos la salida de manera ordenada.

Este es uno de los códigos más sexys que he visto en mi vida. ¡Realmente asombrado!

ACTUALIZACIÓN: Muchas personas se preguntan sobre la practicidad de este código. Para ser sincero, no es muy práctico. Por ejemplo, si los elementos de la matriz son grandes, digamos 1200, entonces tenemos que esperar 20 minutos para ordenar este número y no desea esperar 20 minutos para ordenar los elementos de la matriz, eso es seguro. Pero no puede negar el pensamiento “listo para usar” que se requiere para diseñar códigos como estos y que hace que este código sea bastante sorprendente.

1 línea:

  python -m SimpleHTTPServer 9999

Si está utilizando python3:

  python -m http.server 9999

Este es un liner muy poderoso, depende de cómo lo uses, ¡depende de ti cómo y cuándo quieras usarlo!

¿Qué diablos hace este comando?

Simplemente aloja un servidor HTTP en el puerto 9999, pero no dude en mantener cualquier puerto pero entre 1024 y 65536. El directorio en el que se ejecutó este comando se convertirá en el directorio base y puede navegar hacia abajo como un árbol a cualquier lugar, pero no puede ir al nivel superior del directorio.

Que mierda HTTP serverrr blah blah … ¿dónde usarlo?

Lo uso muy a menudo, casi TODOS LOS DÍAS. Algunos ejemplos:

  • Transfiera el archivo de mi escritorio al móvil : simplemente ejecute el comando y abra 192.168.0.x: 9999 y tendrá una estructura de directorio completa y podrá descargar archivos a su móvil. ¿No es genial?
  • Transfiera el archivo de la computadora a otra computadora en LAN.

¡Se puede explotar de numerosas maneras!

*** No sé si esto también funciona para IP remotas, pero supongo que Python no lo permitirá como una característica de seguridad. Pero si quieres probar puedes darme una oportunidad y dejarme saber los resultados en el comentario. Y no olvide utilizar el reenvío de puertos en su enrutador, de lo contrario, obviamente no funcionará (problema de NAT).

** Editar soporte agregado para python3. Gracias Sergey Bugaev!

Escribí este código de 10 líneas en el programa de modelado 3D OpenSCAD:

$ fn = 50;
diferencia () {
cubo (30, centro = verdadero);
esfera (19);
}
diferencia () {
esfera (16);
traducir ([0,0, -30])
cubo ([12,12,30], centro = verdadero);
}

Genera una esfera que se mantiene cautiva dentro de un cubo hueco, que no solo se ve bien, sino que las dos líneas de código que aplanan la base de la esfera significan que también se puede imprimir en 3D:

Necesitamos una definición más precisa de LINE.

Raytracer de tarjeta de visita de Paul Heckbert

Código fuente

  #include 
 #include 
 #include 
 typedef int i; typedef float f; struct v {fx, y, z; v operator + (vr) {return v (x + rx, y + ry, z + rz);} v operator * (fr) {return v ( x * r, y * r, z * r);} f operador% (vr) {return x * r.x + y * r.y + z * rz;} v () {} v operador ^ (vr) {return v (y * rz-z * ry, z * rx-x * rz, x * r. yy * rx);} v (fa, fb, fc) {x = a; y = b; z = c ;} v operador! () {return * this * (1 / sqrt (* this% * this));}}; i G [] = {247570,280596,280600, 249748,18578,18577,231184,16, 16}; ​​f R () {return (f) rand () / RAND_MAX;} i T (vo, vd, f & t, v & n) {t = 1e9; im = 0; fp = -oz / dz; if (. 01  0) {fs = -b-sqrt (q); if (s  .01) t = s, n =! (p + d * t), m = 2;}} return m;} v S (vo, vd) {ft; vn; im = T (o, d, t, n); si (! m) devuelve v (.7, .6,1) * pow (1-dz, 4); vh = o + d * t, l =! (v (9 + R (), 9 + R (), 16) + h * -1), r = d + n * (n% d * -2); fb = l% n; if (b <0 || T (h, l, t, n)) b = 0; fp = pow (l% r * (b> 0), 99); if (m & 1) {h = h * .2; return ((i) (ceil (hx) + ceil (hy)) & 1? V (3,1,1): v (3,3,3)) * (b * .2 + .1); } return v (p, p, p) + S (h, r) *. 5;} i main () {printf ("P6 512 512 255"); vg =! v (-6, -16,0) , a =! (v (0,0,1) ^ g) *. 002, b =! (g ^ a) *. 002, c  = (a + b) * - 256 + g; para (iy = 512; y--;) para (ix = 512; x -;) {vp (13,13,13); para (ir = 64; r -;) {vt = a * (R () -. 5) * 99 + b * (R () -. 5) * 99; p = S (v (17,16,8) + t ,! (t * -1 + (a * (R () + x) + b * (y + R ()) + c) * 16)) * 3.5 + p;} printf ("% c% c% c", (i) px, (i) py, (i) pz);}}

Compilar y ejecutar:

  g ++ -O3 -o card card.cpp 
 ./card> card.ppm

Resultado:

Explicación: Raytracing


Y Shadertoy BETA !!!!!!!!!!!!!

Genial pero un poco más.

200 líneas para simular el paisaje marino: Source Shadertoy

132 líneas para simular nubes: Shadertoy

78 líneas simulan piratas y 285 líneas escriben una canción … .: Shadertoy


Y algo fácil pero interesante:

  % MATLAB Por Zhang He
 I = doble (imread ('x.jpg'));
 H = RF (I, 30,100) - I + 128;
 G = filtro (H, f especial ('gaussiano', [3 3], 100));
 opacidad = 50;
 Dst = (I * (100 - opacidad) + (I + 2 * G-256) * opacidad) / 100;
 imshow ([uint8 (I) uint8 (Dst)]);

¡Cosas geniales en 10 líneas requieren recurrencia! Aquí hay algo rápido que arrojé juntos:

Vaya a Web Turtle … e ingrese el siguiente texto tal como está en el editor de código, ¡y presione dibujar!

————-
DEJA L 20
MOVER -100
IR FERN
FIN

# FERN
SI L> 0
DIBUJO L
PULSAR L
LET L L-2
RECUERDA
DERECHO 40
IR FERN
REGRESA
RECUERDA
IZQUIERDA 40
IR FERN
REGRESA
POP L
TERMINARA SI
REGRESO
————

Ok, son un poco más de 10 líneas, pero en un lenguaje de programación real (es decir, uno que permita la recursividad sin hacer que mantenga la pila manualmente) sería mucho menos. Elegí usar este lenguaje para que las personas puedan ir rápidamente a la URL y ver el programa en acción sin necesidad de descargar nada.

Lo que dibuja es un árbol fractal. Básicamente le dije a la máquina que para dibujar un árbol todo lo que necesita hacer es dibujar una línea, girar a la derecha, dibujar un árbol más pequeño, girar a la izquierda, dibujar un árbol más pequeño, y eso es todo. Con una condición de parada para que no se acabe para siempre.

Los fractales aparecen en todas partes en la naturaleza, desde las plantas hasta su sistema circulatorio, y estas formas increíblemente complicadas pueden describirse completamente mediante relaciones matemáticas increíblemente simples, como el ‘árbol’ que describo en la oración anterior. Debido a que las matemáticas son simples, el código también es muy simple. Pero como puede ver, la imagen resultante no lo es.

¡Me parece una intersección muy interesante de la naturaleza, las matemáticas y la informática!

Juega con eso tú mismo. Cambie la primera línea ‘LET L 20’ a ‘LET L 30’ o más para cambiar la longitud de la línea de inicio. Y cambie IF L> 0 a IF L> 1 o 2 o algo más que 0 para jugar con la condición de detención. Por último, puedes jugar con ‘LET L L-2’ para cambiar el factor de escala. Puede dejar que L se escale de manera diferente, por ejemplo multiplicándolo por un factor de contracción, o incluso un exponente que sea menor que uno.

Este programa de 9 líneas C es increíble

  #include 
  main () {int a, b, c; int cuenta = 1;  para (b = c = 10; a = "- FIGURA ?, UMKC, XYZHola, \
       TFy! QJu ROo TNn (ROo) SLq SLq ULo + \
       UHs UJq TNn * RPn / QPbEWS_JSWQAIJO ^ \
       NBELPeHBFHT} TnALVlBLOFAkHFOuFETp \
       HCStHAUFAgcEAelclcn ^ r ^ r \\ tZvYxXy \
       T | S ~ Pn SPm SOn TNn ULo0ULo # ULo-W \
       Hq! WFs XDt! "[B +++ 21];)
        para (; a--> 64;) putchar (++ c == 'Z'? c = c / 9: 33 ^ b & 1);  devuelve 0;  }

Para ejecutar el programa en tipo de terminal de Linux

  gcc filename.c 
 ./a.out

El resultado es este Mapa de India.

  !!!!!!
                     !!!!!!!!!!
                      !!!!!!!!!!!!!!!
                        !!!!!!!!!!!!!!
                      !!!!!!!!!!!!!!!
                       !!!!!!!!!!!!
                       !!!!!!!!!!!!
                         !!!!!!!!!!!!
                         !!!!!!!!
                         !!!!!!!!!!
                        !!!!!!!!!!!!!!
                      !!!!!!!!!!!!!!!!
                     !!!!!!!!!!!!!!!!  !!!!!
                   !!!!!!!!!!!!!!!!!!!  !!!!!!!!!!
                  !!!!!!!!!!!!!!!!!!!!!!!  !  !!!!!!!!!!
             !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  !!  !!!!!!!!!!!!
            !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  !!  !!!!!!!!
             !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!
              !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  !!!!!!!!!!!!
               !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  !!!!!!!!!!!!
        !!!!!!  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  !!!!!!
       !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!  !!!!!
           !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  !!!
         !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!  !
           !!!!!!  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
            !!!!!  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                  !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
                   !!!!!!!!!!!!!!!!!!!!!!!!!!!!
                   !!!!!!!!!!!!!!!!!!!!!!!!!!
                   !!!!!!!!!!!!!!!!!!!!!!!!!
                    !!!!!!!!!!!!!!!!!!!!!!!!
                     !!!!!!!!!!!!!!!!!!!!
                     !!!!!!!!!!!!!!!!!!!
                      !!!!!!!!!!!!!!!!
                       !!!!!!!!!!!!!!!!
                       !!!!!!!!!!!!!!!
                        !!!!!!!!!!!!!!
                         !!!!!!!!!!!!
                         !!!!!!!!!!!!
                         !!!!!!!!!!!!
                           !!!!!!!!
                           !!!!!!
                            !!!!

Descargo de responsabilidad: Esta no es mi creación, se envió como entrada al Concurso Internacional de Código C Ofuscado. Verifique más detalles sobre el programa desde este enlace de stackoverflow ¿Cómo genera este código el mapa de la India?

No es mi código, pero pensé que era genial JS Bin

  document.body.onload = function () {
 c = document.createElement ('lienzo'); document.body.appendChild (c);
 h = t = 150, u = D = 50, L = w = c. ancho = 800, H = [], R = Math.random;
 para ($ en C = c.getContext ('2d')) C [$ [J = X = Y = 0] + ($ [6] || '')] = C [$];
 setInterval ("if (D) para (x = 405, i = y = I = 0; i <1e4;) L = H [i ++] = i <9 | L  9? 0 : X; j = H [o = x / u | 0]; Y = y  9 & S <41; ta (uS, 0); G = cL (0, T = H [i], 0, T + 9); T% 6 || (A (2,25, T-7,5), y ^ j || B && (H [i] - =. 1, I ++)); GP = G.addColorStop; GP (0, i% 7? '# 7e3 ':( i ^ o || y ^ T || (y = H [i] + = $ / 99),' # c7a ')); GP (1,' # ca6 '); i% 4 && A (6 , t / 2% 200,9, i% 2? 27: 33); m (-6, h); qt (-6, T, 3, T); l (47, T); qt (56, T , 56, h); A (G); i% 3? 0: T  $ - 9? 1: D); ta (Su, 0)} A (6, u, y-9,11); A (5, M = u + X * .7, Q = y-9 + Y / 5,8); A (8, M, Q, 5); fx (I + '¢', 5,15)} D = y> h? 1: D ", u);
 onkeydown = onkeyup = función (e) {E = e.type [5]? 4: 0; e = e.keyCode; J = e ^ 38? J: E; X = e ^ 37? e ^ 39? X: E: -E;}}

Inspirado por la respuesta de Pujan Srivastava a ¿Cuál es la cosa más genial que puede hacer una computadora en 10 líneas de código ?, así es cómo puede obtener fácilmente una notificación que muestra su dirección IP externa (inmensamente más útil que interna) en una línea de código bash en Linux moderno Funciona listo para usar, no se requiere una utilidad externa.

Uno de mis favoritos de todos los tiempos (escrito por el ‘ blokhead ‘ del gurú de Perl) y publicado en Perlmonks hace más de 10 años. Esta es una de las piezas de software más increíbles que he visto. El zoom Mandelbrot-rot-zoomer en Perl:

Incluí una copia impresa porque el formateador fuente de Quora no puede mostrarla. Puede descargarlo de Perlmonks y guardarlo como ‘mandel.pl’. Si se ejecuta en un caparazón bash (80 × 25), muestra un vuelo de Mandelbrot más zoom y gira la imagen fractal de Mandelbrot a medida que avanza. Increíble.

Esto no es exactamente 10 líneas.

Es el código para el juego 2048, una versión Tiny.

  M [16], X = 16, W, k; main () {T (sistema ("stty cbreak")
  ); pone (W & 1? "WIN": "LOSE");} K [] = {2,3,1}; s (f, d, i 
 , j, l, P) {para (i = 4; i -;) para (j = k = l = 0; k <4;) j <4? P = M 
 [w (d, i, j ++)], W | = P >> 11, l * P && (f? M [w (d, i, k)] = l <<
  (l == P): 0, k ++), l = l? P? lP? P: 0: l: P: (f? M [w (d, i, k)
  ] = l: 0, ++ k, W | = 2 *! l, l = 0);} w (d, i, j) {return d? w (d 
 -1, j, 3-i): 4 * i + j;} T (i) {para (i = X + rand ()% X; M [i% X]
  * i; i -); i? M [i% X] = 2 << rand ()% 2: 0; para (W = i = 0; i <4;
  ) s (0, i ++); para (i = X, pone ("\ e [2J \ e [H"); i -; i% 4 || 
 pone ("")) printf (M [i]? "% 4d |": "|", M [i]); W-2 
 || leer (0, & k, 3) | T (s (1, K [(k >> X)% 4]));} // [2048]

Fuente: justecorruptio / 2048.c.

Editar:

Una captura de pantalla del código:


Puedes jugar el juego en tu consola. 🙂

PD: no es mi código.

En una sola línea con Python:

python -m SimpleHTTPServer

Ejecútelo en cualquier nivel de directorio y podrá compartir todo bajo ese directorio con otros.

Este hilo se está convirtiendo en un concurso sin sentido, pero aún así no pude resistirme a agregar el código que siempre encontré “genial” (aunque hay algunos muy buenos aquí). Desearía poder decir que este código es mío, pero fue escrito por
Hayakawa Takashi hace mucho tiempo. Es puro PostScript, y se representará en una impresora PostScript tan bien como en su computadora … solo tardará horas en finalizar la impresión.

  %! IOPSC-1993 %% Creador: HAYAKAWA Takashi < [correo electrónico protegido] >
 / C / neg / d / mul / R / rlineto / E / exp / H {{cvx def} repetición} def / T / dup / g / gt / r / roll / J / ifelse 8
 H / A / copy (z & v4QX & 93r9AxYQOZomQalxS2w !! O & vMYa43d6r93rMYvx2dca! D & cjSnjSnjjS3o! V & 6A
 X & 55SAxM1CD7AjYxTTd62rmxCnTdSST0g & 12wECST! &! J0g & D1! & XM0! J0g! L & 544dC2Ac96ra! M & 3A
 F && vGoGSnCT0g & wDmlvGoS8wpn6wpS2wTCpS1Sd7ov7Uk7o4Qkdw! & Mvlx1S7oZES3w! J! J! Q & 7185d
 Z & lx1CS9d9nE4! K & X & MY7! & 1! J! X & jdnjdS3odS! N & mmx1C2wEc! G & 150Nx4! N & 2o! J & 43r! U & 0777d
 ] & 2AY2A776ddT4oS3oSnMVC00VV0RRR45E42063rNz & v7UX & UOzF! F! J! [& 44ETCnVn! A & 1CDN! Y & 0M
 V1c & j2AYdjmMdjjd! O & 1r! M) {() T 0 4 3 r put T (/) g {T (9) g {cvn} {cvi} J} {($) g {[} {]} J} J
 cvx} forall / moveto / p / floor / w / div / S / add 29 H [{[{] setgray fill} para Y} para mostrar 

Para ver, copie / pegue esto en un archivo .ps e intente verlo, o simplemente envíelo (directamente) a la impresora. Hace trazado de rayos 3D.

Comienza estableciendo un diccionario mediante el cual puede decodificar un bloque de datos incrustados, que establece otro diccionario … bueno, se vuelve complejo. Es fácilmente mi favorito.

(DESCARGO DE RESPONSABILIDAD: no he escrito este código. Es uno de los programas de muestra que viene con el entorno de The Kojo Learning . Por lo tanto, se deben los créditos al autor).

Un poco sobre Kojo (de Wikipedia):

Kojo es un lenguaje de programación basado en Scala desarrollado por Lalit Pant, un programador de computadoras y profesor, de Dehradun, India.

Tiene muchas características diferentes que permiten jugar, explorar, crear y aprender en las áreas de programación de computadoras, habilidades mentales, matemáticas (interactivas), gráficos, arte, música, ciencia, animación, juegos y electrónica. Kojo extrae ideas de Logo and Processing.

Kojo es un software de código abierto y proporciona DSL para sus diferentes áreas de aprendizaje, y como tal puede considerarse un lenguaje de programación educativo. También es un entorno de desarrollo integrado (IDE).

Kojo se basa en el lenguaje de programación Scala, donde los usuarios comienzan con un subconjunto simple del lenguaje y progresan paso a paso. Kojo en sí está escrito en Scala. Su interfaz gráfica de usuario se basa en Java / Swing (una versión anterior se basaba en la plataforma NetBeans).

Código:

  espiral espiral (tamaño: Int, ángulo: Int) {if (tamaño <= 300) {adelante (tamaño)
         ángulo recto)
         espiral (tamaño + 2, ángulo)}}
 claro()
 setPenColor (darkGray)
 setFillColor (verde)
 setBackgroundH (Color (255, 0, 0), amarillo)
 setPenThickness (1)
 setAnimationDelay (0)
 espiral (0, 91)

El resultado es:

Fuente: Kojo (lenguaje de programación)

EDITAR:

Aparentemente descubrí que puedes hacer lo mismo con Python usando el módulo de gráficos de tortuga incorporado y aquí hay un programa similar que escribí.

  de la importación de tortugas Tortuga
 t = tortuga ()

 t.velocidad (0)
 espiral de def (n):
     si n <300:
         t. adelante (n)
         derecho (91)
         espiral (n + 2)

 espiral (2)
 input ('Presione cualquier tecla para continuar ...')

Extraiga todos los archivos de las subcarpetas en la carpeta principal, luego elimine las subcarpetas vacías.

Este truco es muy útil para las personas que descargan muchos episodios de series de televisión cada semana. Cuando descargas un nuevo episodio, generalmente el torrent crea una carpeta en tu directorio de descargas con el archivo de video dentro. y la estructura de su carpeta se ve así: cada episodio dentro de una carpeta separada. que molesto…

En cambio, desea que la carpeta de la Temporada 1 contenga solo el contenido y ninguna otra basura, como esta:

Para hacer esto manualmente, necesita:

  1. Ir dentro de una carpeta
  2. Cortar el contenido
  3. Regrese a la carpeta principal
  4. Pega el contenido allí
  5. Eliminar la carpeta vacía.

Pero esto se puede automatizar a una actividad de un solo clic. y eso solo con 3 líneas de código escritas en un viejo bloc de notas fiel, ¡no se requiere nada más en realidad!

Necesita crear un archivo por lotes para esto. siga los pasos a continuación:

Paso 1: abra el bloc de notas y pegue las siguientes 3 líneas

@echo off

para / f “tokens = *” %% f en (‘dir / a: -D / s / b’) mueva “%% f”.

para / f “tokens = *” %% f in (‘dir / a: D / s / b’) do rd “%% f”

Paso 2: Guarde este archivo como un archivo .bat usando “Guardar como tipo” como Todos los archivos.

Paso 3: ¡ Ya terminaste! Mantenga este archivo BAT en un lugar seguro. Siempre que desee extraer el contenido de las subcarpetas, mantenga el archivo bat en la carpeta principal y haga doble clic en él.

antes de hacer doble clic

Después de hacer doble clic

Descargo de responsabilidad: para evitar problemas de derechos de autor y posibles acusaciones de piratería, he usado un nombre falso de serie de TV con archivos falsos falsos. Cualquier parecido con personas reales, vivas o muertas, es pura coincidencia.

PD: Ningún animal, incluidos los dragones, resultó dañado durante la redacción de esta respuesta.

Estoy aprendiendo python (un novato). Entonces con la ayuda de python y web scraping. Escribí algunos códigos.
Cricket_score:

Resultados de cricket en vivo

  solicitudes de importación
 desde bs4 import BeautifulSoup
 url = "http://www.cricbuzz.com/cricket-match/live-scores"
 res = request.get (url)
 sopa = BeautifulSoup (contenido res, "lxml")
 print ("\ t \ t \ t \ t BIENVENIDO A LA PUNTUACIÓN DE CRICKET EN VIVO")
 print ("\ n \ n \ n \ n")
 #print (soup.find_all ("a", {"class": "cb-lv-scrs-well-live"}) [0] .text)
 para el elemento en soup.find_all ("a", {"class": "cb-lv-scrs-well-live"}):
	 print ("\ t \ t \ t" + item.text)	
 print ("\ n \ n \ n")

Diccionario :

Significado de una palabra

  solicitudes de importación
 desde bs4 import BeautifulSoup
 print ("Palabra:")
 w = str (entrada ())
 print ("por favor espera ..... mientras obtenemos tu significado")
 url = "http://www.dictionary.com/browse/"
 res = request.get (url + w)
 sopa = BeautifulSoup (contenido res, "lxml")
 print (soup.find_all ("div", {"class": "def-content"}) [0] .text)

Tiempo :

Temperatura actual de cualquier ciudad

  solicitudes de importación
 desde bs4 import BeautifulSoup
 print ("Ingrese su nombre de ciudad")
 ciudad = str (input ())
 print ("Espere ... mientras recibimos su informe meteorológico")
 url = "https://www.google.co.in/search?q=weather+"
 res = request.get (url + ciudad)
 sopa = BeautifulSoup (contenido res, "lxml")
 print (soup.find_all ("span", {"class": "wob_t"}) [0] .text)

Sé que estos son muy simples pero soy un principiante.

EDITAR1: todos los enlaces en la url se estaban convirtiendo en texto de hipervínculo en el código. así que solo lo arreglé.

Perfil de Github: akshdeep996 (Akshdeep singh rajawat)

alguien hizo esto en 7 líneas. Un bebé rockero para los flojos 🙂