Visualizza post

Questa sezione ti permette di visualizzare tutti i post inviati da questo utente. N.B: puoi vedere solo i post relativi alle aree dove hai l'accesso.


Post - RicPol

Pagine: [1] 2 3 ... 236
1
Esercizi / Re:PythonCode su datetime
« il: Ottobre 21, 2020, 14:15 »
ma non puoi perché te lo ha proibito il dottore?
guarda che fa parte della libreria standard, eh... basta fare import datetime
mah... saprai tu.
il consiglio resta di studiare python, prima di imbarcarsi in un progetto vero...

2
Esercizi / Re:PythonCode su datetime
« il: Ottobre 20, 2020, 19:59 »
Beh, non so che cosa vorresti che facesse... (anno_iniziale, anno_finale) è una tupla di due elementi, quindi "for ... in ..." ciclerà due volte su quelli Poi sotto c'è un'altra tupla di due elementi... altri due cicli... 2 per 2 fa 4 (e sì, fa proprio 4... non fa "tre o quattro"). Quindi ripeterai 4 volte qualsiasi cosa tu faccia nel terzo "for" annidato.

Come sempre in questi casi, suggerisco lo studio approfondito di un buon manuale su Python (il Lutz è sempre una scelta sicura), come premessa utile alla programmazione in Python.

(PS: a parte che poi, naturalmente, quello che stai cercando di fare non avrebbe molte possibilità di riuscita neanche se avessi capito alla perfezione come funziona "for"... non puoi costruire una sequenza di date semplicemente assemblando dei numeri... altrimenti ti ritrovi con cose come "31 febbraio"... quindi o ti costruisci una logica raffinata, magari che tenga pure conto dei bisestili, oppure, come fanno tutti, usi il modulo datetime della libreria standard che fa il lavoro per te.)

3
Base / Re:Operazioni condizionali : IF
« il: Ottobre 20, 2020, 16:10 »
Per chiarezza: un sintax error viene segnalato alla posizione SUCCESSIVA del parser, rispetto a dove succede.

>>> foo bar baz
  File "<stdin>", line 1
    foo bar baz
          ^
SyntaxError: invalid syntax
>>>

Qui l'errore è segnato su "baz", ma ovviamente è già capitato sul token "foo".

>>> def foo():
...     print(10
...     print(12)
  File "<stdin>", line 3
    print(12)
        ^
SyntaxError: invalid syntax

Qui l'errore è segnalato al secondo "print", ma ovviamente succede nella riga precedente (manca la parentesi).

Una lettura accurata di un buon manuale è sempre un'opzione da non trascurare, se l'obbiettivo è quello di imparare Python.
Tra l'altro, anche il tutorial della documentazione ufficiale dice queste cose, se ben ricordo. Ne esiste anche una traduzione italiana aggiornata, qui https://pytutorial-it.readthedocs.io

5
Esercizi / Re:Suggerimenti esercizio
« il: Ottobre 19, 2020, 16:37 »
nah, non ho riportato l'import da functools
Ah, ok... ma questo rovina lo one-liner... Ma non c'è niente da fare, hanno tolto tutto il divertimento da Python 3  :D

rivedo...(purtroppo...)  :D :D :D

s = 'megliochevadoadormire'
''.join(c if i % 2 != 0  else chr(ord(c) - 32) for i, c in enumerate((map(lambda d: list(d).pop(0), s.lower()))))


Vero, ma allora basta
''.join(c.lower() if i%2!=0 else c.upper() for i, c in enumerate(s))

che a questo punto non è più offuscato per nulla... a dimostrazione del fatto che 1) il problema è troppo semplice, 2) Python è troppo espressivo.

6
Esercizi / Re:Suggerimenti esercizio
« il: Ottobre 15, 2020, 22:33 »
siete dei cattivelli, siete...

comunque... glenn, ma tu usi ancora python 2?

7
Esercizi / Re:Suggerimenti esercizio
« il: Ottobre 15, 2020, 17:40 »
No guarda, non c'è nessuna citazione né niente... avrei potuto scrivere coniglietto, formichina, passerotto, quello che vuoi.
E non c'è nessuna "base" da conoscere, è un ragionamento che richiede strumenti ben noti a un bambino di circa 8 anni. Infatti ti ho detto di scrivere il ragionamento in italiano, prima... poi forse potrai avere problemi a convertirlo in Python (ma anche qui... tutto ciò che si richiede sono le liste, gli if, gli assegnamenti di variabile), ma il ragionamento in sé richiede solo la fatica di mettersi lì con carta e penna e provarci. Fatica. Molta fatica, questo sì.

Guarda, ovviamente fai come vuoi, ci mancherebbe.
Ma la mia umile opinione è che potresti non andare molto avanti se ogni volta pensi che la soluzione dei problemi la puoi trovare "un po' più in là"... nelle risposte sui forum, facendoti "le basi" da qualche parte, googlando per la ricettina pronta, eccetera. Così è solo un modo di svicolare, rimandare il momento in cui dovrai metterti a ragionare.
Purtroppo il fatto è che la soluzione dei problemi si trova ragionando. Con il cervello. E non occorre il libro, non occorre il computer, non occorre il forum.
Poi certo, è una cosa molto noiosa, faticosa, fastidiosa. Però è la programmazione che è un po' fatta così.

8
Esercizi / Re:Suggerimenti esercizio
« il: Ottobre 14, 2020, 10:06 »
> (a scopo formativo)

no, "a scopo formativo" prova invece a pensarci tu.
Fai così.
Spegni il computer, spegni il telefono. Assicurati di avere almeno 4 ore libere davanti a te, senza che nessuno ti disturbi. Prendi un bel po' di carta (diciamo una cinquantina di fogli A4), una matita e un temperamatite. Sgombra la scrivania.
Se non fai prima tutte queste cose, ti *garantisco* che non ci riuscirai.
Adesso nel primo foglio disegna una serie di caselle quadrate una accanto all'alta, ciascuna con una lettera dentro, come un nastro:


------------------------------
| a | G | w | d | e | M | ...
------------------------------


Adesso immagina di essere una tartarughina messa sulla prima casella. Poi ti sposterai sulla casella successiva, poi su quella successiva ancora, e così via finché non finisce il nastro. A ogni casella che visiti, devi decidere se la lettera che trovi devi trasformarla in maiuscola o minuscola. Non hai la possibilità di ricordarti a che numero di casella sei arrivato (sei solo una tartarughina, non hai molta memoria). Come faresti a decidere? Di quali strumenti ha bisogno la tua tartaruga?
Prova a ragionare, con calma, senza distrazioni. Prova a scrivere una ricetta (un algoritmo, come diciamo noi esperti di programmazione) che faccia questo, in italiano. Fai in modo che sia la più completa possibile.

9
Esercizi / Re:Suggerimenti esercizio
« il: Ottobre 13, 2020, 19:00 »
sì certo. l'output dell'esempio è "giusto" in quanto noi comunemente cominciamo a contare da 1, che è un numero dispari. Invece Python comincia a contare da zero (che è la pratica comune nel mondo dell'informatica), e ovviamente 0 è pari. Devi semplicemente compensare questa discrepanza.

(discrepanza che deriva, in primo luogo, dal fatto che vuoi risolvere l'esercizio usando gli indici... cosa che non è sbagliata, intendiamoci (basta correggere la discrepanza, si diceva). Tuttavia se io fossi un insegnante a questo punto troverei più utile invitare i miei allievi a pensare a un altro approccio...)

10
Esercizi / Re:Suggerimenti esercizio
« il: Ottobre 13, 2020, 15:59 »
perché gli indici di lista partono da 0, e 0 è un numero pari.

11
Benvenuto e regolamento / Re:Ciao a tutti + le solite domande
« il: Ottobre 12, 2020, 10:53 »
Mah sai, il problema qui è che "il campo" è talmente tanto vasto... e mi sembra che tu non abbia le idee chiarissime nel merito...
Cioè, sei partito da "videogiochi"... che è già più ristretto ma ancora talmente vasto... mi fa un po' sorridere quando dici che "il mio obiettivo non è scrivere il nuovo GTA"... probabilmente non ti è chiaro che *nessuno* ha scritto GTA... perché GTA è stato "scritto" da dozzine di persone, con competenze anche diversissime... e nessuno potrebbe scrivere da solo GTA, sicuramente non rispettando dei tempi di mercato.
Nel campo dei videogiochi (per restare nell'esempio) ci sono molti grafici esperti in modellazione 3D, che magari passano le giornate a fare texture, bump mapping, rendering... e i loro strumenti di lavoro sono photoshop e 3D Studio Max... cose così. Poi (ma è solo una nicchia) ci sono anche quelli che "programmano" il core... e qui devo dire che il loro strumento di lavoro è C++, non certo Python nel caso specifico.

Ma il problema non è nemmeno tanto "saper usare gli strumenti", ma proprio avere un'idea di quali sono le competenze in un certo ambito. Cioè, dubito che tu possa programmare, per dire, la routine di AI che fa muovere gli avversari sulla mappa, se non sai che cos'è A* e altri algoritmi di path-finding... e questo, indipendente da Python o da qualsiasi altro "strumento". E se anche ti andassi a ficcare in un ambiente di sviluppo dove (per accordo comune del team di lavoro) si usa una libreria che A* lo ha già implementato, tu devi comunque sapere come si usa quella libreria... e quindi devi avere un'idea di che cosa è A*, anche se non ti viene chiesto di implementarlo da zero.

Ma del resto (cambiando argomento), se tu invece volessi dire... ok, invece mi butto a fare gestionali per la contabilità di magazzino... ok, ma allora dovresti comunque sapere che cos'è una bolla di accompagnamento, quali sono i requisiti legali... e più in basso, se vuoi, che cos'è l'integrità referenziale in un database e come si mantiene... e anche questo sarebbe indipendente dallo "studiare Python".

Cambiando ancora argomento... prendi un campo stra-noto, sovra-ingegnerizzato, enorme come quello dello "sviluppo web". Può voler dire tutto e niente. Io non so dove vivi, ma se vivi anche solo in una media città, non è difficile inciampare in una "agenzia di sviluppo web"... prova a ficcarci il naso dentro, e vedere che cosa fanno quelli che lavorano lì dentro, in concreto. Alcuni sono "grafici" in senso ampio... fanno riprese, fotografie... cose così. Il loro strumento è photoshop. Magari c'è dentro un esperto di CSS e layout... usano cose come Bootstrap, o va a sapere. Poi ci sono gli esperti di frontend... qui trovi gente che usa Angular, Vue... è tutta gente che sa molto bene javascript. Eccetera eccetera. Ma a dire il vero, io credo che il 90% di chi fa "sviluppo web" professionalmente in Italia è gente che smanetta con WordPress o con Joomla.

In generale, tieni conto che, in qualsiasi campo, la "professione informatica" non è solo una questione di "sapere un linguaggio", ma è più legata a "saper usare un tool per un compito"... che può essere un programma fatto e finito (come photoshop, 3d studio...) o una libreria (come angular...), un cms (come wordpress...), o un editor... dipende... Ogni ambiente ha i suoi tool, e conoscere i tool è essenziale.

Tutto questo, naturalmente, con in più l'idea di "voglio farlo per lavoro"... che da un lato è cosa buona e giusta, ma dall'altro ti costringe a misurarti con le tue effettive possibilità... a partire dal fatto che non hai esperienza pregressa e non ti piace la matematica, se vogliamo. Ora, tutto va bene, ma è un po' come se io dicessi "voglio diventare pilota di aereo professionale: non ho mai guidato neanche la bicicletta e soffro di vertigini".
Ok, tutto si può fare... ma devi decidere se quello che stai *veramente* provando a fare è avere un hobby o fare un bilancio della tua vita, professionale e no.

E tutto questo, infine, con la sottintesa credenza un po' magica che da qualche parte esista "la ricetta"... quale libro devo leggere? quale corso devo seguire?
Il problema è che la tua domanda assomiglia molto a questa: https://www.youtube.com/watch?v=9Cjp2W-6LUU&feature=youtu.be&t=60
E' una semplice domanda, come diceva Totò. La tragica risposta è che non esiste nessun libro e nessun corso.
Esiste solo la possibilità di esplorare il panorama, passando da un argomento all'altro, come seguendo i fili di una ragnatela, con enorme pazienza e perdita di tempo. Per esempio, questo https://www.fullstackpython.com/ è un (discreto) elenco di risorse che partono dalla domanda "come faccio sviluppo web in Python"... prova a seguire tutti i link uno a uno... da ogni link ne partono altri due, ma nell'esplorazione guadagni sempre qualche frammento di conoscenza in più sul panorama... alla fine potresti anche buttar via tutto ciò che sai su Python, e tenerti le conoscenze sul panorama (e decidere che vuoi imparare javascript e il frontend development, per esempio).

12
Benvenuto e regolamento / Re:Ciao a tutti + le solite domande
« il: Ottobre 11, 2020, 12:43 »
Mah... se parti dicendo "le solite domande", questo vuol dire che hai almeno dato un'occhiata anche alle "solite risposte"... ovvero, che hai già fatto tu stesso queste domande, oppure che hai visto altri che le facevano e hai letto le risposte che venivano date... magari anche non per Python, ma per altri linguaggi di programmazione... o magari per altre professioni in qualche modo paragonabili...
E quindi, quali sono le risposte che hai visto dare alle "solite domande", finora?

13
Base / Re:ricerca file che non ha estensione
« il: Ottobre 10, 2020, 19:02 »
>  ... ed ora la domanda : quale è il Tuo intendimento con "risvolto interessante"?

Mah guarda, proprio nessuno.
La questione in sé, personalmente, mi sembra piuttosto noiosa. Il concetto di "estensione" è sempre stato confuso e mal definito. In particolare, la domanda dell'OP è proprio quella a cui *non* è possibile davvero rispondere... quando i software e i sistemi operativi (Windows, in sostanza) vogliono usare le estensioni, la domanda che si fanno è sempre quella inversa... ovvero se il file ha una determinata estensione, o magari una compresa in una lista. Nessuno ha interesse a chiedersi se è possibile che il file NON abbia proprio assolutamente nessuna estensione, per il semplice motivo che non serve a nessuno scopo pratico. Quindi questo caso è lasciato piuttosto aperto all'interpretazione. La domanda su "pippo.pluto.paperino" era una domanda trabocchetto: la verità è che "paperino" potrebbe benissimo essere un'estensione... solo che è molto ma molto improbabile che qualcuno sia interessato a registrare un'estensione ".paperino"... ma non c'è un modo algoritmico di distinguere tra ".paperino" e ".doc". E non interessa a nessuno (a mia conoscenza) fare una cosa del genere.
Considera come funzionano le cose in Windows. Se un programma desidera gestire un certo tipo di file (che so... Acrobat reader per i ".pdf"), allora al momento dell'installazione (o anche dopo) chiede a Windows di registrare "a suo nome" una certa estensione. Se Windows lo permette (ovvero l'utente conferma), allora Window aggiunge all'elenco delle estensioni registrate anche ".pdf", e la associa ad Acrobat reader (l'elenco sta nel Registro di configurazione).
Ma se tu hai un Windows senza nessun lettore pdf installato, allora Windows non ha l'estensione ".pdf" registrata, per il semplice fatto che mai nessun programma gli ha chiesto di farlo. Ma allora, su quel Windows, un file che si chiama "pippo.pdf", ha un'estensione oppure no? Di sicuro Windows ti direbbe di no. Ops. Ma come!? Windows NON SA che cosa vuol dire ".pdf"? Beh, no... Non esiste un registro internazionale ufficiale delle estensioni dei file... e Windows non ha nessun interesse a mantenere un suo elenco, a prescindere. Perché dovrebbe? Se un programma ha un'estensione da registrare, lo farà. Se no, amen. La nostra ".paperino" non è un'estensione perché nessun programma, verosimilmente, la registrerà mai. Ma niente mi vieta di scrivere un programma che invece la vuole registrare... E allora, per i Windows dove quel programma è installato, ".paperino" sarà un'estensione.

Quindi come vedi è piuttosto fumosa la domanda "questo file ha un'estensione o no". Il mio interesse nella cosa era puramente didattico, per invitare l'OP a capire la necessità di definire in modo rigoroso i problemi, quando si vuole fare programmazione. Cioè, nel caso che, hai visto mai, l'OP fosse interessato a fare programmazione... eh.

14
Base / Re:ricerca file che non ha estensione
« il: Ottobre 09, 2020, 16:25 »
> in mancanza di un punto, di certo estensione non c'è
vero...

> (che sarebbe il quesito posto)
...non vero. O almeno, forse l'OP può accontentarsi nel suo caso specifico, ma in generale il quesito non è questo.

Torno a ripetere... se un file si chiama "pippo.pluto.paperino", tu diresti che "paperino" è l'estensione del file? Forse no, se intendi per estensione "quel suffisso che consente di riconoscere il tipo di file" (detto così alla buona). Eppure, come vedi, il punto c'è in "pippo.pluto.paperino".

E quindi? La domanda dell'OP ha dei risvolti interessanti, a ragionarci sopra.

15
Base / Re:ricerca file che non ha estensione
« il: Ottobre 09, 2020, 12:28 »
Scusami non capisco come dovrei procedere, mi puoi fare un esempio?
Ragionando.

Dovresti procedere ragionando. Anche se costa più fatica del copincolla degli esempi e delle ricettine gentilmente fornite.

E infatti la ricettina gentilmente fornita è... beh, molto dubbia... guarda caso.

E se un file si chiama pippo.pluto.paperino? Diresti che "paperino" qui è un'estensione? Ops! c'è il punto, ma nessuna estensione... accidenti!
E se un file si chiama archive.tar.gz? Non diresti forse che qui l'estensione è "tar.gz"? Ooooops... l'estensione ha un punto in mezzo (oppure: ci sono due estensioni di fila)... accidenti!

E quindi, ragionando... ragionando... ragionando... ripeto la domanda: che cosa è un'estensione?

(poi ovviamente, certo, ci mancherebbe: probabilmente per quel che stai cercando di fare, vedere se c'è il punto basta e avanza... finché poi non basta più)

Pagine: [1] 2 3 ... 236