PDA

View Full Version : [python] domanda su funzione modulo E domanda su colore


mattoDNA
03-09-2011, 20:10
allora, ho trovato in rete questo programma (molto inutile xD)

import random
from time import sleep

lettere = ['a',0,'b',1,'c',2,'d',3,'e',4,'f',5,'g',6,'h',7,'i',8,'j',9,'k',0,'l',1,'m',2,'n',3,'o',4,'p',5,'q',6,'r',7,'s',8,'t',9,'u',0,'v',1,'w',2,'x',3,'y',4,'z','A', 0, 'B', 1, 'C', 2, 'D', 3, 'E', 4, 'F', 5, 'G', 6, 'H', 7, 'I', 8, 'J', 9, 'K', 0, 'L', 1, 'M', 2, 'N', 3, 'O', 4, 'P', 5, 'Q', 6, 'R', 7, 'S', 8, 'T', 9, 'U', 0, 'V', 1, 'W', 2, 'X', 3, 'Y', 4, 'Z']

while True:
try:
for i in range(0, 130):
print lettere[random.randint(0, 103)],
except IndexError:
continue;



in pratica ti fa apparire numeri e lettere casuali tipo matrix.. ho provato a modificarlo così:

import random
from time import sleep

lettere = ['a',0,'b',1,'c',2,'d',3,'e',4,'f',5,'g',6,'h',7,'i',8,'j',9,'k',0,'l',1,'m',2,'n',3,'o',4,'p',5,'q',6,'r',7,'s',8,'t',9,'u',0,'v',1,'w',2,'x',3,'y',4,'z','A', 0, 'B', 1, 'C', 2, 'D', 3, 'E', 4, 'F', 5, 'G', 6, 'H', 7, 'I', 8, 'J', 9, 'K', 0, 'L', 1, 'M', 2, 'N', 3, 'O', 4, 'P', 5, 'Q', 6, 'R', 7, 'S', 8, 'T', 9, 'U', 0, 'V', 1, 'W', 2, 'X', 3, 'Y', 4, 'Z']

while True:
try:
for i in range(0, 130):
print lettere[random.randint(0, 103)],[sleep(3)],
except IndexError:
continue;
ho aggiunto la funzione sleep() (quella in grassetto) per fare in modo che numeri e lettere apparissero + lentamente.. ma quando lo eseguo, tra ogni numero e lettera mi printa anche un [None].. come risolvo?


DOMANDA: se tutto qusto, volessi farlo printare in un colore che decido io, come devo fare?
sono all'inizio, devo ancora capirci molto..

cdimauro
04-09-2011, 07:08
In Python qualunque funzione ritornare un valore, quindi anche la sleep, che ritorna None (il valore di default restituito).

Nel tuo caso è sufficiente eseguire la chiamata a sleep in un'altra riga di codice (quindi NON dentro la print), e così risolvi questo problema.

Per il colore non ne ho idea. Non ho mai usato il modulo per la gestione del terminale, ma è possibile farlo sicuramente (ho usato una shell interattiva avanzata, bpython, che ne fa uso per syntax highlight e altro).

P.S. Per pietà: non scrivere "printare". Scrivi stampare! Pietro Bembo si starà ribaltando nella tomba...

mattoDNA
04-09-2011, 13:51
ahahahahahahahahahah scusa ^^
cmq.. quindi, ogni funzione di un modulo, va messa in una riga separata.. giusto?
vale per tutte?