[Python] Ancora problemi con le funzioni ...

Giovanni Porcari giovanni.porcari a softwell.it
Sab 9 Maggio 2015 19:45:21 CEST


> Il giorno 09/mag/2015, alle ore 19:22, Carpediem <i.carpediem a tiscali.it> ha scritto:
> 
> Ok, diciamo che non siete stati molto incoraggianti ma mi rendo conto che in effetti, ho bisogno di organizzarmi meglio con lo studio. 
> Il problema è che sto attingendo nozioni in maniera sicuramente disordinata ma finora non ho trovato ancora un libro scritto da programmatori sufficientemente in grado di mettersi nei panni di chi parte realmente da zero. E così saltando di sito in sito, sono andato avanti (per quel poco che ho fatto) al meglio che potevo. Ho acquistato anche due libri (un ebook che sembrava potesse calzare a pennello con le mie esigenze) e un cartaceo di Marco Buttu (programmare con Python guida completa) che almeno per ora ho dovuto accantonare sperando di poterlo usare più avanti per approfondire  argomenti che al momento sono costretto a ricercare in rete per via di una semplicità esplicativa che finora non ho riscontrato sui libri che mi è capitato di sfogliare. 
> In proposito, avete da suggerirmi qualcosa di scritto come se si dovesse insegnare ad un ragazzino e che magari nell'andare avanti riesce a mettere il lettore in condizione di addentrarsi nella materia? 
> Potrei avere dei riferimenti completi sul libro di Berri qui citato? 
> Ad essere sincero, mi sono state finora più utili le risposte ricevute grazie a questo indirizzo di posta che non le pagine dei libri in mio possesso. Continuo ad esservi grato per questo e fidandomi della vostra indiscussa esperienza, proverò anche a ricominciare da zero magari sulla base di qualche vostra precisa indicazione. 
> Comunque, non mollo! Vedere che un programma funzionare seppur piccolo ma scritto in prima persona, è una soddisfazione davvero appagante e il mio obiettivo, è quello di realizzare una cosa che ho in mente da qualche anno ...
> Grazie a tutti per il vostro aiuto ( anche per le risposte a volte poco incoraggianti ma che comprendo non essere ingenerose)


Invece di scoraggiarti potremmo fare un micro corso in pillole.

Comincio io con qualche ‘pillola’:

1) Separa ingresso dati da elaborazione da presentazione dati
2) Per prima cosa scrivi il tuo codice in commenti. Ad esempio:
  #Chiedo base e altezza 
  #Calcolo area triangolo
  #Stampo il risultato

3) Io uso sempre e consiglio di usare questo scheletro di programma che mi è stato suggerito 
   da uno pythonista molto bravo (cfr. il Presidente)

#### scheletro di programma #####

class Triangolo(object):

    def chiedi_base(self):
        pass

    def chiedi_altezza(self):
        pass
    
    def calcola_area(self):
        pass

    def stampa_risultato(self):
        pass
    

if __name__== “__main__”:
    t=Triangolo()
    t.chiedi_base()
    t.chiedi_altezza()
    t.calcola_area()
    t.stampa_risultato()

#### Fine #####
    
    
4) Fatto lo scheletro completi un metodo per volta controllando che funzioni.
   Quando ogni metodo funziona allora tutto funziona bene ma scrivere e
   collaudare un metodo per volta ti aiuta a capire meglio.


Sono certo che molti criticheranno il fatto di partire subito definendo una classe
ma per mia esperienza, con questo tipo di approccio un programma iniziato
per piccole esigenze può crescere bene. Se si buttano giù linee di codice
affastellate, alla fine tocca buttare tutto e ripartire :D.

Magari qualcun altro vuole offrirti altre ‘pillole’ ;)

Buono studio

G




Maggiori informazioni sulla lista Python