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

Поделиться
HTML-код
  • Опубликовано: 13 июл 2024
  • 💻 Come Creare una Calcolatrice con Python (Corso Python Base Per Principianti, Lezione 10 / 18)
    ⏭️ Versione scritta con approfondimenti e codice: www.programmareinpython.it/vi...
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    LINK UTILI
    🚀 Scopri di più sui nostri corsi professionali di programmazione e sviluppo web! Ideali per coloro che sono appassionati di queste aree, i nostri corsi pratici completi mirano a fornire le conoscenze necessarie per esplorare opportunità professionali in questi settori dinamici e in continua evoluzione ↪️ link.programmareinpython.com/gp4
    🐍 Esercizi Python svolti (con soluzione): link.programmareinpython.com/...
    👨‍💻 GitHub: www.github.com/pymike00
    📚 Developers Newsletter: www.developersnewsletter.com
    🎥 Corsi Python Pratici e Completi: link.programmareinpython.com/...
    SOCIAL NETWORK
    🐦 Twitter (X): / pymike00
    📸 Instagram (nuovo): / michelesaba.dev
    📸 Instagram (sito): / programmareinpython.it
    📽️ TikTok (nuovo): / michelesaba.dev
    🔷 Telegram: t.me/programmareinpython
    📘 Facebook: / programmareinpython.it
    ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬
    🕰️ CAPITOLI DI QUESTA LEZIONE
    0:00 Introduzione alla Lezione
    0:47 Inizio Sviluppo - Crea una Calcolatrice con Python
    13:12 Come Migliorare il Programma
    13:51 Considerazioni Finali
    #Python #Esercizi #Tutorial

Комментарии • 49

  • @PyMike
    @PyMike  2 года назад +1

    🎥 PLAYLIST COMPLETA DEL CORSO: ruclips.net/p/PLHUQL6-_n9Zes1VLMgJbLa8IIOHT9x4Nu
    📚 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 Год назад +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  Год назад

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

  • @mastroreffo4493
    @mastroreffo4493 Год назад +1

    Grazie mille, il tuo corso è fatto benissimo

    • @PyMike
      @PyMike  Год назад

      Grazie a te, felice che il corso ti piaccia

  • @gabrieleconte711
    @gabrieleconte711 2 года назад +1

    Bravo 👏

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

  • @matteotigli70
    @matteotigli70 Год назад +1

    it looks good

    • @PyMike
      @PyMike  Год назад

      thanks 👌👌👌

  • @Maximilian1Tube
    @Maximilian1Tube Год назад +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  Год назад

      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 Год назад

      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!

  • @fabiocasini8668
    @fabiocasini8668 Год назад

    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  Год назад

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

  • @hfcostante18
    @hfcostante18 Год назад

    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  Год назад

      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

  • @falconpdl9351
    @falconpdl9351 9 месяцев назад

    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  9 месяцев назад

      Grazie per il tuo contributo

  • @Luigi-tp3nz
    @Luigi-tp3nz Год назад +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  Год назад

      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  Год назад

      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 Год назад

      va bene, grazie mille ancora!!

    • @imsalvatoremod5548
      @imsalvatoremod5548 Год назад

      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 Год назад

      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

  • @giuseppetramonta6252
    @giuseppetramonta6252 Год назад +1

    Salve questa calcolatrice si può averla con la grafica?

    • @PyMike
      @PyMike  Год назад

      Si, certo. Magari faremo ciò in una lezione successiva. Per ora, ho una playlist dedicata alla creazione di interfacce grafiche, qui: ruclips.net/p/PLHUQL6-_n9Zfl7g3aGDs_7_fk1MaeIu7m

  • @xgameytm1919
    @xgameytm1919 11 месяцев назад

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

  • @Nurrialessandro
    @Nurrialessandro Год назад +1

    Sa

    • @PyMike
      @PyMike  Год назад +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  Год назад

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