🎥 PLAYLIST COMPLETA DEL CORSO: ua-cam.com/play/PLHUQL6-_n9Zes1VLMgJbLa8IIOHT9x4Nu.html 📚 VERSIONE SCRITTA CON CODICE: www.programmareinpython.it/video-corso-python-base/
Voglio ringraziare l'autore di questo corso, veramente ben fatto ed esaustivo un ottima risorsa da cui iniziare ad approcciarsi e cimentarsi nello studio della programmazione con un linguaggio di programmazione veramente Potente e trasparente, con una sintassi vicina al linguaggio inglese.
Un buon salve PyMike! innanzitutto desidero farti i miei complimenti per questo corso. La scelta di impostarlo con insegnamenti non solo relativo al linguaggio ma anche con spiegazioni per neofiti è una scelta ammirevole in questo mondo fatto di guide "usa e getta". Volevo solo esprimere una mia opinione sull'utilizzo dell'istruzione break (e scrivo solo per un confronto😃). Dai tempi delle scuole superiori sono cresciuto con la convinzione che tali istruzioni vadano a "sporcare" la struttura del codice ponendo lo sviluppatore sul pericoloso sentiero degli spaghetti code. Poiché minano la linearità del flusso (in particolar modo dell'iterazione) attraverso dei salti a mio parere "poco eleganti". Una mia proposta sarebbe quella di inizializzare una variabile (ad esempio "var") con valore True. Far stampare il menu e richiedere l'input all'utente. Eseguire il controllo scelta==ESC?, allora var=False Poi, al termine dell'operazione scelta dall'utente, effettuare il controllo mediante una iterazione post-condizionata con la seguente condizione var==True. Fuori dall'iterazione stampare il messaggio di congedo. Spero di non averti infastidito con questo commento. E ci tengo a ringraziarti per questo corso. Io personalmente sto imparando il Python dopo anni che conoscenti e colleghi mi hanno fatto una testa cos' per via della sua verticalità di utilizzo. Grazie ancora!
@@PyMike principalmente dal C e C++. Conosco anche il java poiché è il linguaggio con cui ho imparato l'OOP. Ma l'ho mai usato a livello lavorativo. Mi interessa il Python soprattutto per la progettazione di base di dati.
Ciao Michele seguo sempre con piacere le tue lezioni perché facilmente comprensibili anche da uno come me completamente a digiuno di programmazione. Volevo chiederti un chiarimento: perché quando avvio il programma mediante il terminale di Visual Studio Code, su ogni rigo dove devo digitare l'input mi compare sempre la scritta "None" ?
Ciao! Felicissimo che le lezioni siano facilmente comprensibili, si tratta di uno degli obiettivi principali di questo corso. La scritta "None" potrebbe essere dovuta al come hai impostato il tuo codice, stai per caso usando delle funzioni, spiegate nelle lezioni successive a questa? O stai usando un "doppio" print? (tipo print(print()) Qui trovi il codice della lezione come scritto nel video www.programmareinpython.it/video-corso-python-base/checkpoint-costruiamo-una-calcolatrice-con-python/
Grazie per la tua celere risposta 🤗. Ho controllato e ricontrollato il codice scritto seguendo le tue indicazioni e poi l’ho confrontato con quello scritto da te….non vedo differenze 😔😥 eppure ogni volta che devo inserire un “input” compare la scritta “none”. Uso un MacBook Pro e Visual Studio Code opportunamente configurato seguendo passo passo le tue indicazioni 😭
ciao, volevo chiederti una cosa: come hai fatto tu le variabili non vengono ricreate ogni volta che si entra in un if? sarebbe più opportuno dichiararle prima, oppure fare come hai mostrato nel video non cambia praticamente nulla? so che forse è una domanda banale ma sono alle prime armi e vorrei capire come scrivere nel modo più efficiente possibile, grazie in aticipo!💯
Ciao Luigi, domanda interessante. Ti consiglio di visionare la lezione su if, elif ed else. Qui la versione con video, trascrizione e codice: www.programmareinpython.it/video-corso-python-base/controllo-di-flusso-if-elif-ed-else/
p.s. a ben vedere la mia risposta non è stata esaustiva. In generale avresti potuto dichiararle prima, ma che valore ci avresti assegnato? Ci sono sicuramente tanti modi per ottimizzare questo codice. Questa "calcolatrice" è forse la più semplice in assoluto che si possa realizzare. Parliamo di ambiti delle variabili ed altri argomenti utili più avanti nel corso. Happy Coding!
Se le variabili verranno definite all'interno dell'istruzione condizionale if, il programma crea delle variabili e il corrispettivo oggetto ad esse assegnate dentro un istanza Locale.. (Local Scope ) Ciò vuol dire che il dato memorizzato all'interno di quella variabile è definito dato o valore locale, ciò significa che accessibile soltanto per la modifica del valore all'interno del ambiente, zona cioè in quel spazio laddove la variabile è stata definita nel momento in cui abbiamo definito il blocco di codice, espresso con l'istruzione condizionale if.
Ipoteticamente una variabile locale è definita dentro un blocco di codice, il blocco di codice verrà definito ed espresso in diversi modi durante l'architettazione e progettazione di un Programma.. Verrà definito nel momento in cui, definiremo una 1: funzione, def 2: loop, for while 3: attraverso le istruzioni condizionali, if else elif
Ciao, riguardo all'utilizzo delle funzioni invece, esiste un modo per passare un numero n non prefissato di argomenti ad una funzione? Ad esempio se volessi la funzione "somma" che somma tutti gli n numeri che digito in input senza appunto sapere a priori quanti saranno ? Grazie, a presto
Ciao e sinceri complimenti da un informatico che però non è mai stato un programmatore in senso stretto 🙂. Mi stavo avvicinando al Python per pura curiosità e per fortuna ho trovato i tuoi video. Una domanda riguardo alla print del risultato, ho notato che funziona anche senza il cast a stringa, mi spiego meglio: se ad esempio nell'addizione scrivo print ("il risultato è ", a + b) invece di print ("il risultato è " , str(a + b)) Lo stesso viene visualizzato correttamente. C'è qualche motivo particolare nell'utilizzare utilizzare str(a + b)? Grazie mille
Ciao Pasquale! Grazie mille per i complimenti, felice che i video siano di tuoi gradimento. Il motivo principale dell'esplicitazione di molti passaggi in questa serie è puramente logico didattico. A presto!
Condensato in meno di 15 minuti ha quasi del magico. Complimenti. Giusto per fare il rompiscatole: non sarebbe il caso di gestire almeno la divisione per zero così da evitare che il programma si "spacchi"?
Ottima osservazione. Parleremo di gestione degli errori più avanti nel corso! Per ora, questa lezione ha lo scopo di mettere alla prova tutto quanto appreso finora!
Si, certo. Magari faremo ciò in una lezione successiva. Per ora, ho una playlist dedicata alla creazione di interfacce grafiche, qui: ua-cam.com/play/PLHUQL6-_n9Zfl7g3aGDs_7_fk1MaeIu7m.html
Michele grazie mille del corso - io lo sto seguendo solo adesso ma meglio tardi che mai! Non capisco perche' il mio codice non arriva a leggere action e continua a printare il while per tutto il tempo stampando per sempre l'hello message... ma ho scritto esattamente lo stesso codice che hai scritto tu!
Benvenuta Sara! In merito al tuo quesito, potrebbe forse essere un problema di indentazione, prova a dare uno sguardo al codice per questa lezione sul mio sito qui www.programmareinpython.it/video-corso-python-base/checkpoint-costruiamo-una-calcolatrice-con-python/
molto ben fatto, istruttivo, ma non sarebbe meglio aggiungere un'istruzione (tipo clr o clear per dirla tipo basic), per cancellare lo screen ogni volta che si ripete una operazione? (+ pulito1).
Ciao Michele, grazie tante per il corso che seguo veramente con entusiasmo. Mi chiedevo come mai, inserendo la variabile action sotto il ciclo while, interrompe di fatto il ciclo infinito dandomi soltanto una volta hello_message
Se ho ben compreso la domanda, questo avviene per il fatto che nessuna delle condizioni if / elif viene soddisfatta, per cui si salta al new_action con break in else
@@PyMike def basic(_string): i = "".join([n for n in _string if n not in ' 0123456789']) op = {'+':(lambda f,s: f+s),'-':(lambda f,s: f-s)\ ,'*':(lambda f,s: f*s),'//':(lambda f,s: f//s)} return op.get(i)(int(_string.split(i)[0]),int(_string.split(i)[1]))
if __name__ == "__main__": print(basic('12 + 12'))
🎥 PLAYLIST COMPLETA DEL CORSO: ua-cam.com/play/PLHUQL6-_n9Zes1VLMgJbLa8IIOHT9x4Nu.html
📚 VERSIONE SCRITTA CON CODICE: www.programmareinpython.it/video-corso-python-base/
Grazie mille,sei bravissimo a spiegare!!
Ti ringrazio Melania, felice che il video ti sia piaciuto!
Grazie mille, il tuo corso è fatto benissimo
Grazie a te, felice che il corso ti piaccia
Bravo 👏
Grazie!
Voglio ringraziare l'autore di questo corso, veramente ben fatto ed esaustivo un ottima risorsa da cui iniziare ad approcciarsi e cimentarsi nello studio della programmazione con un linguaggio di programmazione veramente Potente e trasparente, con una sintassi vicina al linguaggio inglese.
Grazie a te Salvatore, felice che il corso sia di tuo gradimento!!!
it looks good
thanks 👌👌👌
Grazie per includere il genere femminile nei saluti, sembra poco ma fa molta differenza! 👍❣
Un buon salve PyMike!
innanzitutto desidero farti i miei complimenti per questo corso. La scelta di impostarlo con insegnamenti non solo relativo al linguaggio ma anche con spiegazioni per neofiti è una scelta ammirevole in questo mondo fatto di guide "usa e getta".
Volevo solo esprimere una mia opinione sull'utilizzo dell'istruzione break (e scrivo solo per un confronto😃). Dai tempi delle scuole superiori sono cresciuto con la convinzione che tali istruzioni vadano a "sporcare" la struttura del codice ponendo lo sviluppatore sul pericoloso sentiero degli spaghetti code. Poiché minano la linearità del flusso (in particolar modo dell'iterazione) attraverso dei salti a mio parere "poco eleganti".
Una mia proposta sarebbe quella di inizializzare una variabile (ad esempio "var") con valore True.
Far stampare il menu e richiedere l'input all'utente.
Eseguire il controllo scelta==ESC?,
allora var=False
Poi, al termine dell'operazione scelta dall'utente, effettuare il controllo mediante una iterazione post-condizionata con la seguente condizione var==True.
Fuori dall'iterazione stampare il messaggio di congedo.
Spero di non averti infastidito con questo commento. E ci tengo a ringraziarti per questo corso.
Io personalmente sto imparando il Python dopo anni che conoscenti e colleghi mi hanno fatto una testa cos' per via della sua verticalità di utilizzo. Grazie ancora!
Ciao! Grazie mille per i complimenti. Da che altri linguaggi vieni?
@@PyMike principalmente dal C e C++. Conosco anche il java poiché è il linguaggio con cui ho imparato l'OOP. Ma l'ho mai usato a livello lavorativo.
Mi interessa il Python soprattutto per la progettazione di base di dati.
Ciao Michele seguo sempre con piacere le tue lezioni perché facilmente comprensibili anche da uno come me completamente a digiuno di programmazione. Volevo chiederti un chiarimento: perché quando avvio il programma mediante il terminale di Visual Studio Code, su ogni rigo dove devo digitare l'input mi compare sempre la scritta "None" ?
Ciao! Felicissimo che le lezioni siano facilmente comprensibili, si tratta di uno degli obiettivi principali di questo corso. La scritta "None" potrebbe essere dovuta al come hai impostato il tuo codice, stai per caso usando delle funzioni, spiegate nelle lezioni successive a questa? O stai usando un "doppio" print? (tipo print(print()) Qui trovi il codice della lezione come scritto nel video www.programmareinpython.it/video-corso-python-base/checkpoint-costruiamo-una-calcolatrice-con-python/
Grazie per la tua celere risposta 🤗. Ho controllato e ricontrollato il codice scritto seguendo le tue indicazioni e poi l’ho confrontato con quello scritto da te….non vedo differenze 😔😥 eppure ogni volta che devo inserire un “input” compare la scritta “none”. Uso un MacBook Pro e Visual Studio Code opportunamente configurato seguendo passo passo le tue indicazioni 😭
ciao, volevo chiederti una cosa: come hai fatto tu le variabili non vengono ricreate ogni volta che si entra in un if? sarebbe più opportuno dichiararle prima, oppure fare come hai mostrato nel video non cambia praticamente nulla? so che forse è una domanda banale ma sono alle prime armi e vorrei capire come scrivere nel modo più efficiente possibile, grazie in aticipo!💯
Ciao Luigi, domanda interessante. Ti consiglio di visionare la lezione su if, elif ed else. Qui la versione con video, trascrizione e codice: www.programmareinpython.it/video-corso-python-base/controllo-di-flusso-if-elif-ed-else/
p.s. a ben vedere la mia risposta non è stata esaustiva. In generale avresti potuto dichiararle prima, ma che valore ci avresti assegnato? Ci sono sicuramente tanti modi per ottimizzare questo codice. Questa "calcolatrice" è forse la più semplice in assoluto che si possa realizzare. Parliamo di ambiti delle variabili ed altri argomenti utili più avanti nel corso. Happy Coding!
va bene, grazie mille ancora!!
Se le variabili verranno definite all'interno dell'istruzione condizionale if, il programma crea delle variabili e il corrispettivo oggetto ad esse assegnate dentro un istanza Locale.. (Local Scope )
Ciò vuol dire che il dato memorizzato all'interno di quella variabile è definito dato o valore locale, ciò significa che accessibile soltanto per la modifica del valore all'interno del ambiente, zona cioè in quel spazio laddove la variabile è stata definita nel momento in cui abbiamo definito il blocco di codice, espresso con l'istruzione condizionale if.
Ipoteticamente una variabile locale è definita dentro un blocco di codice, il blocco di codice verrà definito ed espresso in diversi modi durante l'architettazione e progettazione di un Programma..
Verrà definito nel momento in cui, definiremo una
1: funzione, def
2: loop, for while
3: attraverso le istruzioni condizionali, if else elif
Ciao, riguardo all'utilizzo delle funzioni invece, esiste un modo per passare un numero n non prefissato di argomenti ad una funzione?
Ad esempio se volessi la funzione "somma" che somma tutti gli n numeri che digito in input senza appunto sapere a priori quanti saranno ?
Grazie, a presto
Ciao, si esiste www.geeksforgeeks.org/args-kwargs-python/
non ho capito perché inserire str prima delle operazioni se ciò che esce in output è il medesimo risultato...
Ciao e sinceri complimenti da un informatico che però non è mai stato un programmatore in senso stretto 🙂. Mi stavo avvicinando al Python per pura curiosità e per fortuna ho trovato i tuoi video.
Una domanda riguardo alla print del risultato, ho notato che funziona anche senza il cast a stringa, mi spiego meglio: se ad esempio nell'addizione scrivo
print ("il risultato è ", a + b)
invece di
print ("il risultato è " , str(a + b))
Lo stesso viene visualizzato correttamente. C'è qualche motivo particolare nell'utilizzare utilizzare str(a + b)?
Grazie mille
Ciao Pasquale! Grazie mille per i complimenti, felice che i video siano di tuoi gradimento. Il motivo principale dell'esplicitazione di molti passaggi in questa serie è puramente logico didattico. A presto!
Condensato in meno di 15 minuti ha quasi del magico. Complimenti.
Giusto per fare il rompiscatole: non sarebbe il caso di gestire almeno la divisione per zero così da evitare che il programma si "spacchi"?
Ottima osservazione. Parleremo di gestione degli errori più avanti nel corso! Per ora, questa lezione ha lo scopo di mettere alla prova tutto quanto appreso finora!
Salve questa calcolatrice si può averla con la grafica?
Si, certo. Magari faremo ciò in una lezione successiva. Per ora, ho una playlist dedicata alla creazione di interfacce grafiche, qui: ua-cam.com/play/PLHUQL6-_n9Zfl7g3aGDs_7_fk1MaeIu7m.html
Michele grazie mille del corso - io lo sto seguendo solo adesso ma meglio tardi che mai! Non capisco perche' il mio codice non arriva a leggere action e continua a printare il while per tutto il tempo stampando per sempre l'hello message... ma ho scritto esattamente lo stesso codice che hai scritto tu!
Benvenuta Sara! In merito al tuo quesito, potrebbe forse essere un problema di indentazione, prova a dare uno sguardo al codice per questa lezione sul mio sito qui www.programmareinpython.it/video-corso-python-base/checkpoint-costruiamo-una-calcolatrice-con-python/
molto ben fatto, istruttivo, ma non sarebbe meglio aggiungere un'istruzione (tipo clr o clear per dirla tipo basic), per cancellare lo screen ogni volta che si ripete una operazione? (+ pulito1).
Grazie per il tuo contributo
Ciao Michele, grazie tante per il corso che seguo veramente con entusiasmo. Mi chiedevo come mai, inserendo la variabile action sotto il ciclo while, interrompe di fatto il ciclo infinito dandomi soltanto una volta hello_message
Se ho ben compreso la domanda, questo avviene per il fatto che nessuna delle condizioni if / elif viene soddisfatta, per cui si salta al new_action con break in else
yup
🍻
Il mio era di 20 righe circa però faceva +-/* penso vada bene
Sarebbe interessante usare una regex per evitare di dover utilizzare il menù iniziale
Come faresti esattamente?
@@PyMike
def basic(_string):
i = "".join([n for n in _string if n not in ' 0123456789'])
op = {'+':(lambda f,s: f+s),'-':(lambda f,s: f-s)\
,'*':(lambda f,s: f*s),'//':(lambda f,s: f//s)}
return op.get(i)(int(_string.split(i)[0]),int(_string.split(i)[1]))
if __name__ == "__main__":
print(basic('12 + 12'))
Anche senza la regex, si riesce a separare i numeri dall'operatore.
Ci sono sicuramente tante soluzioni per lo stesso problema, e quella mostrata è - forse - la più semplice e base possibile!
Sa
prova microfono