venerdì 28 dicembre 2007

Python vacanziero


Data di oggi: 11100/1100/11111010111

Ebbene si, durante le vacanze ci si svaga.
Oggi sebbene lo studio inconba sulla mia testa ho trovato una decina di minuti per scrivere questo strambo programma dalla dubbia utilità.
Non ha un nome preciso ma il suo compito è convertire una data in binario.
L'output è un po' grezzo perchè stampa solo una lista ma è già sufficientemente chiaro tant'è che la data odierna la potete leggere in binario in alto.

Il programmino è diviso in due file scaricabili da qui:

python_serale.py
import util

if __name__ == "__main__":
print 'Convert data in binary...'

day = input('Day > ')
month = input('Month > ')
year = input('Year > ')

#Convert day
bin_day = util.binario(day)
bin_day = util.invert_list(bin_day)

#Convert month
bin_month = util.binario(month)
bin_month = util.invert_list(bin_month)

#Convert year
bin_year = util.binario(year)
bin_year = util.invert_list(bin_year)

#Append complete data
data = []
data = data + bin_day
data = data + ["/"]
data = data + bin_month
data = data + ["/"]
data = data + bin_year

print 'Binary conversion:'
print data


util.py
def binario(a):
li = []
while(a > 0):
li.append(a % 2)
a = a / 2

return li

def invert_list(li):
index_list = len(li) - 1
new_list = []

#We invert the list with a while loop
while index_list >= 0:
new_list.append(li[index_list])
index_list = index_list - 1

return new_list


Per eseguire il prgramma è sufficiente dare da terminale il comando:
~$ python python_serale.py

1 commento:

Anonimo ha detto...

Thanks for writing this.