10. CREA UNA CALCOLATRICE (CORSO PYTHON BASE) - TUTORIAL ITALIANO - PROGRAMMARE IN PYTHON

แชร์
ฝัง
  • เผยแพร่เมื่อ 18 ก.ย. 2024

ความคิดเห็น • 53

  • @PyMike
    @PyMike  2 ปีที่แล้ว +1

    🎥 PLAYLIST COMPLETA DEL CORSO: th-cam.com/play/PLHUQL6-_n9Zes1VLMgJbLa8IIOHT9x4Nu.html
    📚 VERSIONE SCRITTA CON CODICE: www.programmareinpython.it/video-corso-python-base/

  • @melaniasartore6921
    @melaniasartore6921 2 ปีที่แล้ว +3

    Grazie mille,sei bravissimo a spiegare!!

    • @PyMike
      @PyMike  2 ปีที่แล้ว +2

      Ti ringrazio Melania, felice che il video ti sia piaciuto!

  • @imsalvatoremod5548
    @imsalvatoremod5548 2 ปีที่แล้ว +1

    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.

    • @PyMike
      @PyMike  2 ปีที่แล้ว

      Grazie a te Salvatore, felice che il corso sia di tuo gradimento!!!

  • @mastroreffo4493
    @mastroreffo4493 2 ปีที่แล้ว +1

    Grazie mille, il tuo corso è fatto benissimo

    • @PyMike
      @PyMike  2 ปีที่แล้ว

      Grazie a te, felice che il corso ti piaccia

  • @giu.tar.3121
    @giu.tar.3121 ปีที่แล้ว +2

    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
      @PyMike  ปีที่แล้ว

      Ciao! Grazie mille per i complimenti. Da che altri linguaggi vieni?

    • @giu.tar.3121
      @giu.tar.3121 ปีที่แล้ว

      @@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.

  • @gabrieleconte711
    @gabrieleconte711 2 ปีที่แล้ว +1

    Bravo 👏

    • @PyMike
      @PyMike  2 ปีที่แล้ว

      Grazie!

  • @federicagamba2158
    @federicagamba2158 หลายเดือนก่อน

    Grazie per includere il genere femminile nei saluti, sembra poco ma fa molta differenza! 👍❣

  • @matteotigli70
    @matteotigli70 2 ปีที่แล้ว +1

    it looks good

    • @PyMike
      @PyMike  2 ปีที่แล้ว

      thanks 👌👌👌

  • @Maximilian1Tube
    @Maximilian1Tube 2 ปีที่แล้ว +1

    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" ?

    • @PyMike
      @PyMike  2 ปีที่แล้ว

      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/

    • @Maximilian1Tube
      @Maximilian1Tube 2 ปีที่แล้ว

      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 😭

  • @pasqualone1966
    @pasqualone1966 ปีที่แล้ว +1

    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

    • @PyMike
      @PyMike  ปีที่แล้ว +1

      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!

  • @dassetto
    @dassetto 2 ปีที่แล้ว +1

    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"?

    • @PyMike
      @PyMike  2 ปีที่แล้ว

      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!

  • @horror_story-z7d
    @horror_story-z7d หลายเดือนก่อน

    non ho capito perché inserire str prima delle operazioni se ciò che esce in output è il medesimo risultato...

  • @fabery8668
    @fabery8668 2 ปีที่แล้ว

    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

    • @PyMike
      @PyMike  2 ปีที่แล้ว

      Ciao, si esiste www.geeksforgeeks.org/args-kwargs-python/

  • @Luigi-tp3nz
    @Luigi-tp3nz 2 ปีที่แล้ว +2

    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!💯

    • @PyMike
      @PyMike  2 ปีที่แล้ว

      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/

    • @PyMike
      @PyMike  2 ปีที่แล้ว

      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!

    • @Luigi-tp3nz
      @Luigi-tp3nz 2 ปีที่แล้ว

      va bene, grazie mille ancora!!

    • @imsalvatoremod5548
      @imsalvatoremod5548 2 ปีที่แล้ว

      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.

    • @imsalvatoremod5548
      @imsalvatoremod5548 2 ปีที่แล้ว

      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

  • @falconpdl9351
    @falconpdl9351 ปีที่แล้ว

    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).

    • @PyMike
      @PyMike  ปีที่แล้ว

      Grazie per il tuo contributo

  • @saracorsetti6084
    @saracorsetti6084 6 วันที่ผ่านมา

    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!

    • @PyMike
      @PyMike  5 วันที่ผ่านมา

      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/

  • @hfcostante18
    @hfcostante18 2 ปีที่แล้ว

    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

    • @PyMike
      @PyMike  2 ปีที่แล้ว

      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

  • @cristiancolucci5896
    @cristiancolucci5896 2 ปีที่แล้ว +1

    yup

    • @PyMike
      @PyMike  2 ปีที่แล้ว

      🍻

  • @giuseppetramonta6252
    @giuseppetramonta6252 2 ปีที่แล้ว +1

    Salve questa calcolatrice si può averla con la grafica?

    • @PyMike
      @PyMike  2 ปีที่แล้ว

      Si, certo. Magari faremo ciò in una lezione successiva. Per ora, ho una playlist dedicata alla creazione di interfacce grafiche, qui: th-cam.com/play/PLHUQL6-_n9Zfl7g3aGDs_7_fk1MaeIu7m.html

  • @xgameytm1919
    @xgameytm1919 ปีที่แล้ว

    Il mio era di 20 righe circa però faceva +-/* penso vada bene

  • @Nurrialessandro
    @Nurrialessandro 2 ปีที่แล้ว +1

    Sa

    • @PyMike
      @PyMike  2 ปีที่แล้ว +1

      prova microfono

  • @enricobarbato7767
    @enricobarbato7767 2 ปีที่แล้ว

    Sarebbe interessante usare una regex per evitare di dover utilizzare il menù iniziale

    • @PyMike
      @PyMike  2 ปีที่แล้ว

      Come faresti esattamente?

    • @enricobarbato7767
      @enricobarbato7767 2 ปีที่แล้ว

      @@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'))

    • @enricobarbato7767
      @enricobarbato7767 2 ปีที่แล้ว

      Anche senza la regex, si riesce a separare i numeri dall'operatore.

    • @PyMike
      @PyMike  2 ปีที่แล้ว

      Ci sono sicuramente tante soluzioni per lo stesso problema, e quella mostrata è - forse - la più semplice e base possibile!