View Full Version : [Python] Cerco collaborazione motivata (diabete)
sedano132
09-03-2008, 14:13
Salve.
cercherò di essere breve.
Mi servirebbe un pò di collaborazione per accellerare la scrittura di un programma tutto sommato semplice per il calcolo dei carboidrati nei cibi e relativa quantità di insulina necessaria per i diabetici di tipo 1.
Chiunque abbia una buona conoscenza del diabete sa di cosa sto parlando ed è a loro che mi rivolgo.
Per ora inizierò con delle funzioni basilari come il calcolo delle calorie ma lo scopo finale del programma sarà più articolato:
1) python perché multipiattaforma e semplice (l'intenzione è di far girare il prog su dei notebook come questo http://www.azpoint.net/articoli.asp?id=14713 tutto sommato abbastanza portatili)
2)mediante una serie di combobox dovrà essere possibile selezionare tutti o quasi i vari cibi che si abbia intenzione di mangiare con relative quantità per ottenere il calcolo dei carboidrati totali,delle calorie totali,delle fibre e di tutte quelle numerose variabili che possano influenzare la glicemia di un diabetico,compreso la glicemia preprandiale,l'attività fisica svolta e da svolgere per ottenere alla fine il corretto dosaggio dell'insulina da somministrare che è uno dei fattori fondamentali per la gestione del diabete.
3)in successive relise (molto successive) dovrà essere inplementata la possibilità di autocalibrazione dei fattori di correzione caricando i valori delle glicemie avuti dal diabetico nei mesi precedenti in relazione all'insulina somministrata,all'alimentazione ecc... in modo da trovare il miglior equilibrio possibile.
Naturalmente l'interesse è abbastanza personale visto che il diabetico in questione è mia moglie ma il programma dovrà essere comunque un programma di dominio pubblico(che paroloni!).
spero che qualcuno voglia collaborare con me che comunque preciso non ho conoscenze particolari di programmazione ma pian pianetto ci stò provando.
grazie
isAlreadyInUse
09-03-2008, 16:22
Perche non farlo via web, sarebbe sicuramente fruibile da piu senza difficolta
Perche non farlo via web, sarebbe sicuramente fruibile da piu senza difficolta
Quoto. Mi sembra un ottima idea.
Quoto. Mi sembra un ottima idea.
Quoto anch'io. Però cercherei prima se qualcuno ha avuto la tua stessa idea per questo programma. Forse anche freeware visto che il diabete purtroppo è una patologia molto comune.
Scusate se riposto di seguito... cmq avevo trovato questi software freeware:
https://sourceforge.net/search/?type_of_search=soft&type_of_search=soft&words=insulin
Puoi scaricarli e visionare tutti i codici ed eventualmente anche modificarli per migliorarli. Purtroppo non c'è nulla scritto in python, sono quasi tutti in C o java. Però possono darti parecchi spunti su come impostare il tuo programma se non vuoi utilizzare proprio questi. Conta che poi tutti possono partecipare anche facendo semplici traduzioni nella propria lingua senza avere particolari conoscenze di programmazione. Spero di averti dato almeno qualche dritta e qualche spunto utile per il tuo progetto. :)
sedano132
16-03-2008, 08:12
ringrazio tutti e chiedo scusa per quella che potrebbe sembrare mancanza di impegno da parte mia ma visti i miei tempi tra lavoro e vita privata non è che riesca a far meglio di così.
"Perché non farlo via web, sarebbe sicuramente fruibile da piu senza difficolta"
via web? :confused: come dovrebbe funzionare?
il mio interesse e un programma disponibile su un dispositivo portabile da usare a casa come una specie di personal trainer della salute e all'occorrenza da portarsi dietro e la possibile mancanza di un collegamento ad internet non deve pregiudicarne l'utilizzo.
niente palmari=piattaforme troppo chiuse
vanno bene dei notebook a basso costo visto che ho letto di alcuni con tempi di startup di meno di venti secondi che trovo più che accettabili per un pc piccolo ma vero.
https://sourceforge.net/search/?type_of_search=soft&type_of_search=soft&words=insulin
in teoria molto interessanti tutti questi programmi e molto vicini alle mie esigenze.................peccato che non sono riuscito a provarne nessuno di quelli per pc........non ho mai detto di essere un esperto........
soprattutto questo mi sembrava interessante ma clicco sull'eseguibile e non succede niente. https://sourceforge.net/projects/insbuddy/
magari ho rinunciato troppo facilmente ma comunque non conosco nessuno di quei linguaggi di programmazione e perciò non sarei in grado di modificarli comunque per cui alla fine sarebbe tempo dedicato a cercare idee per sviluppare il progetto ma la parte più difficile per me è quella della scrittura del codice perché il python lo dovrò imparare strada facendo.
mi metterò a lavoro per scrivere quattro rige di codice così da avere qualcosa su cui disquisire.
grazie
"Perché non farlo via web, sarebbe sicuramente fruibile da piu senza difficolta"
via web? :confused: come dovrebbe funzionare?
il mio interesse e un programma disponibile su un dispositivo portabile da usare a casa come una specie di personal trainer della salute e all'occorrenza da portarsi dietro e la possibile mancanza di un collegamento ad internet non deve pregiudicarne l'utilizzo.
niente palmari=piattaforme troppo chiuse
Se questi sono i presupposti ritratto, un'applicazione web, benche universale perche 'funzionerebbe dappertutto e su tutti i sistemi che hanno un qualsiasi browser decente, non e' fruibile senza collegamento internet.
In realta' se l'applicazione fosse semplice, come mi e' sembrato di capire che lo sia, si potrebbe costruire qualcosa "monopagina", normalmente creata al volo dal server, ma che si puo' salvare e portare in giro.
Semplice significherebbe che e' "a sola lettura", ovvero che non occorrerebbe memorizzare quanto scelto di volta in volta dall'utente.
Tutto pero' mi sembra troppo complesso. Senza voler sembrare scortese ho l'impressione che tu debba studiare troppo prima di poter avere il risultato.
Un po' come studiare medicina e chirurgia da autodidatta, con l'intenzione di eseguire una sola operazione di tonsillite (che presumo essere una delle piu' semplici).
E quindi rilancio.
Una bella applicazione "Excel"? Si possono fare cose su Excel che molti neppure immaginano.
Qualcosa tipo un foglio con tutti i dati che ti servono, in forma ovviamente tabellare,
ed un altro foglio che mediante una maschera guidata permette di scegliere gli alimenti, impostare le quantita' ed e' (quasi) finito.
Se non si usano caratteristiche particolari si potra' usare su tutte le piattaforme excel compatibili. Non solo i PC quindi, ma anche molti palmari, i MAC, Linux, etc.
sedano132
25-04-2008, 16:39
Salve.
ho incominciato a studiarmi due libretti interessanti sulla programmazione in python scaricati dai siti ufficiali e molto interessanti.
visto la mia difficoltà a stare molto tempo davanti al pc li ho fatti stampare dalla copisteria vicino casa per la modica cifra di euro 19 cadauno :doh: (mi sorge il dubbio che una piccola laser da tenere a casa non sarebbe un'idea così strana visto che probabilmente mi servirà di nuovo di stampare qualche centinaio di pagine).
mi servirebbe una dritta su come poter trattare una variabile come un alias di un istanza di una classe.mi spiego a parole mie che magari ho le idee confuse sulla terminologia e non sono chiaro.
con una classe e delle istanze della stessa tipo questa :
class cibo:
def __init__(self,
proteine=0,
carboidrati=0,
grassi=0):
self.proteine=proteine
self.carboidrati=carboidrati
self.grassi=grassi
carne = cibo(6,2,2) "i valori li ho messi a caso solo per testare"
pasta = cibo(1,8,1)
c'è un modo semplice per inserire da tastiera anche con un semplice comando come
x=raw_input("pasta o carne?")
una selezione che sia pasta o carne e dare alla variabile associata gli stessi valori dell'istanza per poi passare il tutto a una funzione per calcolare i valori nutritivi?
se fosse possibile potrei scrivere il programma che mi serve anche se solo a livello testuale immediatamente e preoccuparmi in futuro di un interfaccia grafica utile ma non indispensabile.
ho a disposizione anche la "libreria di riferimento" (ancora da stampare :rolleyes: ) ma 800 pagine mi ci vuole un pò per digerirle e un consiglio non mi dispiacerebbe.
ps:
come non dare ragione a gugoXX su tutto che ringrazio per i consigli molto sensati.ma resta il fatto che se anche fosse difficile dover imparare un linguaggio di programmazione per fare poi solo un'applicazione che si potrebbe fare con un semplice foglio di calcolo lo sforzo non sarebbe così inutile visto che ciò che avrò imparato lo potrò comunque usare anche per altri scopi.a dire il vero sono dispiaciuto di aver abbandonato lo studio della programmazione quasi venti anni fà........pensate a quante cose inutili avrei potuto imparare in tutto questo tempo..........ma chi è cagion del suo mal pianga se stesso.........
grazie dell'attenzione.
nuovoUtente86
25-04-2008, 17:20
Salve.
ho incominciato a studiarmi due libretti interessanti sulla programmazione in python scaricati dai siti ufficiali e molto interessanti.
visto la mia difficoltà a stare molto tempo davanti al pc li ho fatti stampare dalla copisteria vicino casa per la modica cifra di euro 19 cadauno :doh: (mi sorge il dubbio che una piccola laser da tenere a casa non sarebbe un'idea così strana visto che probabilmente mi servirà di nuovo di stampare qualche centinaio di pagine).
mi servirebbe una dritta su come poter trattare una variabile come un alias di un istanza di una classe.mi spiego a parole mie che magari ho le idee confuse sulla terminologia e non sono chiaro.
con una classe e delle istanze della stessa tipo questa :
class cibo:
def __init__(self,
proteine=0,
carboidrati=0,
grassi=0):
self.proteine=proteine
self.carboidrati=carboidrati
self.grassi=grassi
carne = cibo(6,2,2) "i valori li ho messi a caso solo per testare"
pasta = cibo(1,8,1)
c'è un modo semplice per inserire da tastiera anche con un semplice comando come
x=raw_input("pasta o carne?")
una selezione che sia pasta o carne e dare alla variabile associata gli stessi valori dell'istanza per poi passare il tutto a una funzione per calcolare i valori nutritivi?
se fosse possibile potrei scrivere il programma che mi serve anche se solo a livello testuale immediatamente e preoccuparmi in futuro di un interfaccia grafica utile ma non indispensabile.
ho a disposizione anche la "libreria di riferimento" (ancora da stampare :rolleyes: ) ma 800 pagine mi ci vuole un pò per digerirle e un consiglio non mi dispiacerebbe.
ps:
come non dare ragione a gugoXX su tutto che ringrazio per i consigli molto sensati.ma resta il fatto che se anche fosse difficile dover imparare un linguaggio di programmazione per fare poi solo un'applicazione che si potrebbe fare con un semplice foglio di calcolo lo sforzo non sarebbe così inutile visto che ciò che avrò imparato lo potrò comunque usare anche per altri scopi.a dire il vero sono dispiaciuto di aver abbandonato lo studio della programmazione quasi venti anni fà........pensate a quante cose inutili avrei potuto imparare in tutto questo tempo..........ma chi è cagion del suo mal pianga se stesso.........
grazie dell'attenzione.
Non conosco il linguaggio ma utilizzare la shell piuttosto che una GUI creata a parte è possibilissimo anzi piu semplice, inoltre indirettamente sei arrivata ad uno dei cardini della programmazione ovvero la suddivisione in livelli dell' applicazione e nello specifico lo slegare la parte di presentazione(l' interfaccia) dal cuore dell' applicazione.
La cosa che mi lascia però perplesso è la gestione dei dati...se ho ben capito vorresti inglobare i valori( in questo caso nutrizionali) di ogni singolo alimento all' interno del codice...be capirai da solo che non è una cosa sensata...ma piuttosto bisogna implementare( tornando al discorso di prima) il terzo livello, quello dei dati.
sedano132
25-04-2008, 18:26
infatti concordo anchio che suddividere un programma in livelli in modo da poterli aggiornare singolarmente semplifichi il lavoro.
per i dati un database sarebbe indispensabile ma ora non saprei implementarlo mentre in futuro mi dedicherò anche a questo.
così come sto provando,anche se non nel modo più elegante potrei avere un programma che faccia ciò che serve in pochissimo tempo.
nuovoUtente86
25-04-2008, 18:48
Non è necessario avere un DB ma bastano dei file di testo o binari, di certo non puoi pensare di inserire i valori nel sorgente.
Perry_Rhodan
25-04-2008, 23:24
Ho iniziato a studiare python, per ora non mi azzardo neanche a tentare di darti un aiuto concreto perchè la mia conoscenza è alquanto scarsa :fagiano:
Però posso cercare di darti qualche consiglio per dirti come mi muoverei io (IMHO):
- prova a iscriverti alla mailing list ufficiale italiana di python
http://dir.gmane.org/gmane.comp.python.general.italian
qua puoi chiedere informazioni sul linguaggio
contattare bravi programmatori, anche disponibili allo sviluppo di software open source
ottenere consigli su come muoverti per realizzare il programma che ti interessa (reperire risorse, gestire un progetto opensource, ecc)
ottenere riferimenti a altre risorse più specifiche (tipo, se c'è, una mailing list o un forum di programmatori in ambito medico)
appena hai abbastanza chiare le specifiche del programma che ti serve (cioè quello che vuoi ottenere come risultato finale) puoi avviare un progetto su sourceforge o un sito similare, per fare questo devi imparare i rudimenti della gestione dello sviluppo di codice open source condiviso (SVN repository e quantaltro), una minima conoscenza dell'inglese qua purtroppo è quasi indispensabile.
Questo comporterà una certa perdita di tempo inizialmente ma ti permetterà di avere un unico centro per gestire lo sviluppo del programma e ti permetterà di sfruttare al massimo i contributi di tutti coloro che vorranno partecipare al tuo progetto in pieno spirito opensource.
Se sei fortunato puoi riuscire a mettere su un piccolo gruppo di programmatori, potenzialmente di tutto il mondo, interessati alle stesse problematiche e che potrebbero darti un grandissimo aiuto.
Per il programma io farei così (ma, ripeto, tieni presente che sono un meganiubbo :lamer: ):
usare un database esterno per gestire i dati dell'archivio (occorre trovare il motore adatto :confused: , e l'API python adeguata :confused: ) questo per avere tutte le funzionalità di database già implementate e testate senza doverle riscriverle, mi sembla una soluzione più semplice dell'alternativa di usare direttamente pickle e unpikle.
realizzare un modulo per la gestione dei dati su cui devi lavorare, che utilizzando il database sottostante gestisca l'aggiornamento delle varie tabelle e le richieste degli altri moduli.
un modulo che gestisca l'input e l'output con l'utente, magari realizzato prima in modalità shell e poi appena possibile in modalità grafica
un modulo (praticamente il nucleo del programma) che esegua i vari calcoli e le operazioni che ti servono prendendo i dati dell'utente dal modulo di input, i dati archiviati dal modulo di gestione del database e inviando i risultati all'output e/o all'archivio.
Questo modulo dovrebbe essere il primo ad essere almeno abbozzato, in quanto da esso e dalle sue esigenze dipenderà la realizzazione degli altri
buon lavoro, se in qualche modo potrò esserti di aiuto ben volentieri :)
cdimauro
27-04-2008, 08:12
Salve.
ho incominciato a studiarmi due libretti interessanti sulla programmazione in python scaricati dai siti ufficiali e molto interessanti.
visto la mia difficoltà a stare molto tempo davanti al pc li ho fatti stampare dalla copisteria vicino casa per la modica cifra di euro 19 cadauno :doh: (mi sorge il dubbio che una piccola laser da tenere a casa non sarebbe un'idea così strana visto che probabilmente mi servirà di nuovo di stampare qualche centinaio di pagine).
mi servirebbe una dritta su come poter trattare una variabile come un alias di un istanza di una classe.mi spiego a parole mie che magari ho le idee confuse sulla terminologia e non sono chiaro.
con una classe e delle istanze della stessa tipo questa :
class cibo:
def __init__(self,
proteine=0,
carboidrati=0,
grassi=0):
self.proteine=proteine
self.carboidrati=carboidrati
self.grassi=grassi
carne = cibo(6,2,2) "i valori li ho messi a caso solo per testare"
pasta = cibo(1,8,1)
c'è un modo semplice per inserire da tastiera anche con un semplice comando come
x=raw_input("pasta o carne?")
una selezione che sia pasta o carne e dare alla variabile associata gli stessi valori dell'istanza per poi passare il tutto a una funzione per calcolare i valori nutritivi?
Intanto ti consiglio di utilizzare il tag CODE per racchiudere il codice, altrimenti si perde la formattazione. Ecco qui:
class Cibo:
def __init__(self, proteine = 0, carboidrati = 0, grassi = 0):
self.proteine = proteine
self.carboidrati = carboidrati
self.grassi = grassi
carne = Cibo(6, 2, 2) # I valori li ho messi a caso solo per testare
pasta = Cibo(1, 8, 1)
Ho dato anche una risistemata al codice per renderlo più leggibile (per i commenti ricorda di usare il carattere #).
Per la soluzione al tuo problema suggerisco la seguente strada:
class Cibo:
def __init__(self, proteine = 0, carboidrati = 0, grassi = 0):
self.proteine = proteine
self.carboidrati = carboidrati
self.grassi = grassi
def ValoriNutritivi(self):
print 'Questo cibo ha %s proteine, %s carboidrati e %s grassi!' % (self.proteine, self.carboidrati, self.grassi)
carne = Cibo(6, 2, 2) # I valori li ho messi a caso solo per testare
pasta = Cibo(1, 8, 1)
Istanze = {'carne' : carne, 'pasta' : pasta}
scelta = raw_input('pasta o carne? ')
Istanze[scelta].ValoriNutritivi()
Per il tipo di problema dovresti provare a dare una modellazione a oggetti. Non cercare, quindi, di usare funzioni esterne per eseguire calcoli passandogli delle istanze della classe! :)
se fosse possibile potrei scrivere il programma che mi serve anche se solo a livello testuale immediatamente e preoccuparmi in futuro di un interfaccia grafica utile ma non indispensabile.
ho a disposizione anche la "libreria di riferimento" (ancora da stampare :rolleyes: ) ma 800 pagine mi ci vuole un pò per digerirle e un consiglio non mi dispiacerebbe.
Non stampare la libreria: è una spreco di tempo, carta e inchiosto. E' più conveniente avere il file python.chm da consultare al volo al momento del bisogno.
ps:
come non dare ragione a gugoXX su tutto che ringrazio per i consigli molto sensati.ma resta il fatto che se anche fosse difficile dover imparare un linguaggio di programmazione per fare poi solo un'applicazione che si potrebbe fare con un semplice foglio di calcolo lo sforzo non sarebbe così inutile visto che ciò che avrò imparato lo potrò comunque usare anche per altri scopi.a dire il vero sono dispiaciuto di aver abbandonato lo studio della programmazione quasi venti anni fà........pensate a quante cose inutili avrei potuto imparare in tutto questo tempo..........ma chi è cagion del suo mal pianga se stesso.........
grazie dell'attenzione.
Non ti crucciare: c'è sempre tempo per imparare.
Ho visto che vuoi realizzare quest'applicazione per uno scopo nobile, e lato mio cercherò di darti un mano quando possibile, ma... non ci contare molto :p, perché ho poco tempo libero, e preferisco dedicarlo alla famiglia. :)
sedano132
29-04-2008, 19:23
perfetto.grazie
Istanze = {'carne' : carne, 'pasta' : pasta}
scelta = raw_input('pasta o carne? ')
Istanze[scelta].ValoriNutritivi()
era esattamente questo che cercavo.l'ho gia provato e funziona per come mi aspettavo.questo conferma una mia convinzione che non esistono cose facili o difficili ma solo cose che si sanno e cose che non si sanno.io avrei avuto bisogno di un bel pò di esperienza in più per scrivere quelle due rige di codice cosi semplici alla fine ma di tempo ne ho gia troppo poco.
tutti i consigli ricevuti sono stati preziosi anche se credo che inizialmente mi limiterò a scrivere qualcosa che sia solo funzionale alla mia esigenza e soprattutto semplice. col tempo mi dedicherò a i necessari miglioramenti.......perlomeno fino a quando non troveranno una cura definitiva al diabete.......
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.