Profilo di RicPol

Nome RicPol
Indirizzo email ric.pol@libero.it
AvatarAvatar utenti
Messaggi74
Firma forum
https://pythoninwindows.blogspot.com/p/blog-page.html
Le mie guide: Come installare e usare Python su Windows - Progetti Python multilingua
  • Re: Come attivare modalità script
    Forum >> Principianti
    Guarda, non esiste una "modalità script". Non esiste nemmeno una "modalità qualcos'altro", a dire il vero.


    > appena lo apro mi si apre il programma in 64 bit con sfondo nero e
    scritte bianche
    > ma funziona solo in modalità interattiva a riga di
    comando

    Con un po' di sforzo di fantasia qui suppongo che tu per "aprire" intenda invocare l'interprete python dalla shell (cioè, apri una shell e scrivi "python<invio>" suppongo). Beh sì, se è così allora il "programma" che "si apre" è l'interprete interattivo (detta anche "shell di python"). E non è che ci siano menu o "modalità"... è proprio la REPL del linguaggio, che vedi dentro la tua shell di sistema.


    Se invece vuoi lanciare uno script python, sempre dalla shell puoi fare "python script.py<invio>" dove "script.py" è naturalmente il nome del file dello script, o meglio la sua path (il percorso assoluto o relativo alla directory corrente della shell). Quando premi "invio", l'interprete python esegue lo script e visualizza l'output (nonché gli eventuali errori) nella shell.


    E guarda, non c'è da "aver pietà". C'è da lasciar perdere le "istruzioni sul web", non andare a tentoni, comprarsi un buon libro e seguirlo passo-passo.

    https://pythoninwindows.blogspot.com/p/blog-page.html
    Le mie guide: Come installare e usare Python su Windows - Progetti Python multilingua
  • Re: Errore di lettura del file username.txt (hash sha3 512)
    Forum >> Programmazione Python >> Files e Directory
    Te l'ho detto, finché non posti un pezzo di codice che apre un file, ci scrive dentro qualcosa, lo chiude, tutto quello che posso dirti è che sbagli qualcosa.

    Però se preferisci non postare codice, possiamo andare avanti a chiacchierare all'infinito... come preferisci.

    https://pythoninwindows.blogspot.com/p/blog-page.html
    Le mie guide: Come installare e usare Python su Windows - Progetti Python multilingua
  • Re: Sintassi ++ e --
    Forum >> Principianti
    Beh, se su questa app hai trovato proprio quel codice, allora vuol dire che è un altro dei numerosi strumenti che si possono buttar via senza problemi.


    Davvero, adesso non dico a te in specifico, parlo in generale.


    Ci sono molte sfumature e molte situazioni diverse. Uno può voler imparare Python, o no. Uno può *dover* imparare Python, o no. Uno può farlo per cazzeggio, un altro perché spera di farci eventualmente dei soldi. Uno può essere ricco di famiglia e con molto tempo a disposizione, un altro può essere un quarantenne squattrinato che lavora tutto il giorno e si ritaglia un po' di tempo la notte per studiare.


    Ma qualunque sia la vostra situazione, avete una cosa in comune: il vostro tempo ha un valore perché è una risorsa limitata. Può sembrare una spesa enorme investire 40 euro o giù di lì per comprarsi un buon libro, e può sembrare che se fai questa spesa poi sei costretto a leggerlo quel libro e a sudarci sopra perché altrimenti hai sprecato i tuoi soldi. E capisco che può essere sgradevole. Ma guardate che il tempo che perdete a seguire certi inqualificabili corsi su YouTube o certe folli "app magiche", quando lo convertite in soldi poi scoprite che è una spesa molto maggiore per un rendimento molto inferiore.


    Poi intendiamoci: non è che comprarsi un buon libro, o pagarsi un buon insegnante, va a sapere, sia di per sé garanzia di buona riuscita. Però certo almeno partite col piede giusto, e poi il resto è nelle vostre mani. Ma con tutta la buona volontà che uno può avere, se poi segue una "app" che mostra codice del genere, cosa mai potrà capire? Mah. Comunque, ciascuno si fa i suoi conti e le sue scelte, beninteso.




    --- Ultima modifica di RicPol in data 2018-10-16 11:53:00 ---

    --- Ultima modifica di RicPol in data 2018-10-16 11:53:14 ---
    https://pythoninwindows.blogspot.com/p/blog-page.html
    Le mie guide: Come installare e usare Python su Windows - Progetti Python multilingua
  • Re: ripulire lo script
    Forum >> Principianti
    Ma io non capisco proprio perché uno dovrebbe cercare su YT per cominciare... voglio dire, YT è notoriamente la cloaca della qualità su internet... boh.


    Comunque se """""l'insegnante""""" che hai trovato scrive davvero codice del genere, forse potresti lasciare un commento linkando a questo thread... è una goccia nell'oceano ma tanto vale...

    Per quanto riguarda libri, boh, in Italiano ovvio che non c'è molto. Ma probabilmente il migliore resta il Lutz https://learning-python.com/index-book-links.html#pubs e i suoi sono stati tradotti ("Imparare python" mi sembra che sia il titolo italiano; invece "programmare python" è più avanzato e non conviene all'inizio).




    https://pythoninwindows.blogspot.com/p/blog-page.html
    Le mie guide: Come installare e usare Python su Windows - Progetti Python multilingua
  • Re: Errore di lettura del file username.txt (hash sha3 512)
    Forum >> Programmazione Python >> Files e Directory
    Boh? Quel codice è una collezione di script scorrelati tra loro, e tra l'altro scritti malissimo in modo che non sarebbe neanche possibile importarli... tutta quella roba deve essere buttata e riscritta daccapo con un minimo di senso comune (niente codice a livello del modulo, per dire...). Non ho neanche idea di dove dovrei guardare per vedere un problema. Dovunque guardi vedo solo problemi, di tutti i tipi.


    Facciamo così: prima di tutto scorpora il codice che ti dà problemi, riducilo a un esempio concreto che faccia questo:
    1) crea il file partendo da nome e psw
    2) apre il file e verifica la psw.
    Tutto questo non dovrebbe richiedere più di venti/trenta righe. Così almeno cominciamo a vedere di che cosa stiamo parlando.


    Poi, non limitarti a descrivere in parole vaghe "che hai un errore". Quale errore? Dove? Posta lo stacktrace dell'errore, e vediamo.


    In ogni caso:
    > Per salvare le modifiche è necessario riavviare il programma
    > (Py non crea il file finché l programma non termina a quanto pare)
    Ma no, quando mai.

    https://pythoninwindows.blogspot.com/p/blog-page.html
    Le mie guide: Come installare e usare Python su Windows - Progetti Python multilingua
  • Re: ripulire lo script
    Forum >> Principianti
    Non ha senso scriverlo così, certo. Non ha neanche senso seguire qualcuno su YT che peraltro segue una guida elencata qui (che poi sarà il solito terribile pensare da informatico, ovviamente). Tanto vale seguire direttamente la guida, no? Ma in realtà tanto vale prendersi un buon libro e seguirlo con calma, passo passo.
    https://pythoninwindows.blogspot.com/p/blog-page.html
    Le mie guide: Come installare e usare Python su Windows - Progetti Python multilingua
  • Re: ripulire lo script
    Forum >> Principianti
    Il problema qui è in sostanza che non hai capito che cosa è una variabile e come funziona. Una variabile è solo un segnaposto per un oggetto (un riferimento, un puntatore... chiamalo come vuoi anche se ci sono nomi più precisi di altri). E' l'oggetto che contiene le informazioni, non la variabile. Una variabile non *può* contenere informazioni aggiuntive rispetto all'oggetto, perché semplicemente queste informazioni non sarebbero accessibili a Python. Naturalmente è comodo dare alla variabile un nome "significativo", ma il nome significativo è solo un promemoria per il programmatore, non è rilevante per Python. Quindi, se ci sono informazioni che non stanno nell'oggetto, non ci sono e basta. Il nome della variabile non c'entra nulla.


    Siccome tu non metti un'informazione essenziale (il nome del pilota) negli oggetti, il fatto che tu "sai" qual è il pilota guardando il nome della variabile non conta nulla perché non puoi dare questa informazione a Python, e quindi in sostanza non ci puoi fare nulla di utile. In pratica non esiste un modo in cui tu puoi *ricavare* il nome di un pilota, perché il nome non fa parte delle informazioni contenute dentro gli oggetti.


    Tutto il resto del tuo script (che contiene beninteso molti altri problemi separati) frana completamente come conseguenza del fatto che non hai capito come si usano le variabili. Per esempio, il fatto di dover scrivere compulsivamente "if name=='bottas': pilota(bottas)" etc. etc. per mille volte (che suppongo sia quello che speravi che ti avremmo consigliato come aggiustare) è una diretta conseguenza di questo problema. Se trovi il modo di capire bene come devono essere fatti i tuoi oggetti, e se capisci che cosa è una variabile e come si usa, vedi che trovi anche subito il modo di evitare quell'elenco infinito di "if".


    Oppure, se vuoi una cosa ancora più semplice: prova a completare questa banale funzione che restituisce il nome del pilota (eh, già) a partire dal suo numero di macchina:

    def cerca_pilota(num_macchina):
        for pilota in (bottas, hamilton, vettel, .......):
            if pilota[0] == num_macchina:
                return IL-NOME-DEL-PILOTA # che cosa diavolo e' "il nome del pilota" adesso???
        return 'nessun pilota con quel numero di macchina'
    
    Prova a costruire qualunque meccanismo che fa restituire il nome del pilota a quella funzione. Vedrai che non ci riesci, perché in definitiva Python non conosce i nomi dei piloti. L'unica cosa che puoi fare sarebbe... fare tu stesso il lavoro che dovrebbe fare Python:

    def cerca_pilota(num_macchina):
        if num_macchina == 77: # il numero di "bottas" (ma python non lo sa)
            return 'bottas'
        elif num_macchina == 44: # questo e' "hamilton", e NOI lo sappiamo!
            return 'hamilton'
        elif ......
            .......
        else:
            return 'nessun pilota con quel numero di macchina'
    
    Ma capisci che così non ha senso programmare, non ha senso neppure avere un computer. Il lavoro lo stai facendo tu.






    --- Ultima modifica di RicPol in data 2018-10-15 17:28:21 ---
    https://pythoninwindows.blogspot.com/p/blog-page.html
    Le mie guide: Come installare e usare Python su Windows - Progetti Python multilingua
  • Re: Sintassi ++ e --
    Forum >> Principianti
    Dove hai trovato quel codice? Quello è C, non Pyhton. In Python non esiste "++" come operatore, e "++a" è una noop (non fa nulla). Se vuoi incrementare di uno, in Pyton devi riassegnare: "a = a+1" oppure "a += 1" (perché "+=" esiste).


    Il resto del codice è Python, anche se non un Python molto intelligente, visto che il parametro "c" passato alla funzione non viene utilizzato. La funzione restituisce banalmente la somma dei parametri "a" e "b".



    https://pythoninwindows.blogspot.com/p/blog-page.html
    Le mie guide: Come installare e usare Python su Windows - Progetti Python multilingua
  • Re: memorizzazione immagini
    Forum >> Principianti
    OH ECCO!!! grazie, avevo cominciato a fare degli esperimenti ma non sapevo bene cosa escapare di preciso... buono a sapersi...




    https://pythoninwindows.blogspot.com/p/blog-page.html
    Le mie guide: Come installare e usare Python su Windows - Progetti Python multilingua
  • Re: memorizzazione immagini
    Forum >> Principianti
    Sai, il problema non è essere principianti (e ci mancherebbe). Il problema è essere principianti e voler fare cose da non-principianti. Il principiante impara che cosa è una lista python, per dire, e dice "ok, sono pronto: adesso faccio un'intelligenza artificiale che trasforma frasi italiane in azioni disegnate" (non scherzo, c'è davvero un thread del genere qui).


    Occorre andare per gradi, con calma e molta pazienza. E' ovvio che ti vengono in mente decine di applicazioni pratiche da fare "subito", ma non c'è niente da fare: dopo aver imparato la lista, impara il dizionario (per dire). In particolare, ogni cosa che riguarda una interfaccia grafica richiede nozioni di programmazione a oggetti. Sì, è vero che puoi abborracciare una finestra in tkinter così alla buona, un po' copiando in giro. Ma al primo ostacolo "da mondo reale" sei già in acque profonde. Naturalmente non è che uno debba leggersi tutto il GOF prima di affrontare la prima interfaccia grafica della sua vita, eh. Ma almeno avere un po' di dimestichezza con le variabili, le funzioni, le classi, i metodi.
    Tra l'altro, la spiegazione che ti ho dato è già molto semplificata e tagliata sul tuo caso specifico. In generale, il problema dei rapporti tra oggetti è una questione di design pattern complessa. Ma non è il forum la sede per imparare queste cose. Hai già visto quante parole ho dovuto metterci per spiegarti questa piccola questione.

    Purtroppo la tragica verità è che imparare a programmare è frustrante, non è divertente. O per lo meno, bisogna imparare a divertirsi con poco, per un bel po' di tempo. E' come un gioco di ruolo alle prime avventure: tu *sai* che è possibile castare magie del nono livello e andare a caccia di draghi, ma nel frattempo devi accontentarti di dare la caccia ai goblin e castare magic missile.





    > mi è venuto il dubbio se nel caso il modulo PIL abbia già qualche funzionalità nativà per tale scopo....
    Beh, certo che sì. Una volta che hai prodotto un oggetto PIL.Image caricandoci dentro un file immagine, puoi usare PIL.Image.filename per ri-ottenere il nome del file che ci hai caricato dentro: https://pillow.readthedocs.io/en/5.3.x/reference/Image.html#PIL.Image.filename (beh, certo: ovviamente quello *non* è l'oggetto-file, è solo la stringa-path del file... ma da quello hai comunque le informazioni necessarie per ri-aprire l'oggetto-file, se vuoi).



    --- Ultima modifica di RicPol in data 2018-10-13 09:42:38 ---
    https://pythoninwindows.blogspot.com/p/blog-page.html
    Le mie guide: Come installare e usare Python su Windows - Progetti Python multilingua