[Golem] Suggerimenti per orientare allievo nell'imparare un linguaggio di programmazione

stefano bargelli stefano.bargelli@gmail.com
Mer 18 Mar 2020 13:28:29 CET


Salve a TUTTI,

ho un allievo (12 anni - 2^media) che si è appassionato ad imparare il
linguaggio *PYTHON*.
Mi domanda:
a) di indicargli i programmi più utilizzati per sviluppare in *python* (al
momento sta usando Visual Studio Code <https://code.visualstudio.com/>).

b) di rivedergli un listato di codice sul Teorema di Pitagora che mi ha
condiviso (e che aggiungo in calce).

Io non ho pratica di linguaggi di programmazione per cui Vi chiedo se c'è
qualcuno che mi può dare consigli (e revisione).

Grazie per l'attenzione
Stefano BARGELLI

--------------------------------
from tkinter import *
from os import *
from subprocess import call
from time import sleep


def area_q():
    testo = IntVar()
    primo_numero = Label(f, text="inserisci il lato del quadrato")
    primo_numero.pack()
    primo_numero.configure(bg="#589cf1")
    primo_numero.place(x=430, y=70)
    B = Entry(f, textvar=testo)
    B.pack()
    B.place(x=445, y=90)
    def operazione():
        risultato = Entry(f)
        risultato.insert(0, "{}".format(testo.get()*testo.get()))
        risultato.pack()
        risultato.configure()
        risultato.place(x=445, y=145)
    ciao = 1
    operazione_1 = Button(f, text="risultato", command=operazione)
    operazione_1.pack()
    operazione_1.configure(bg="#589cf1")
    operazione_1.place(x=480, y=115)

def area_r():
    testo1 = IntVar()
    testo = IntVar()
    primo_numero = Label(f, text="inserisci la base del rettangolo")
    primo_numero.pack()
    primo_numero.configure(bg="#589cf1")
    primo_numero.place(x=610, y=70)
    B = Entry(f, textvar=testo1)
    B.pack()
    B.place(x=625, y=90)
    secondo_numero = Label(f, text="inserisci l'altezza del rettangolo")
    secondo_numero.pack()
    secondo_numero.configure(bg="#589cf1")
    secondo_numero.place(x=610, y=110)
    H = Entry(f, textvar=testo)
    H.pack()
    H.place(x=625, y=130)
    def operazione():
        risultato = Entry(f)
        risultato.insert(0, "{}".format(testo.get()*testo1.get()))
        risultato.pack()
        risultato.configure()
        risultato.place(x=625, y=190)
    ciao = 1
    operazione_1 = Button(f, text="risultato", command=operazione)
    operazione_1.pack()
    operazione_1.configure(bg="#589cf1")
    operazione_1.place(x=660, y=155)

def area_t():
    testo2 = IntVar()
    testo1 = IntVar()
    testo = IntVar()
    primo_numero = Label(f, text="inserisci la base maggiore del trapezio")
    primo_numero.pack()
    primo_numero.configure(bg="#589cf1")
    primo_numero.place(x=800, y=70)
    B = Entry(f, textvar=testo1)
    B.pack()
    B.place(x=830, y=90)
    terzo_numero = Label(f, text="inserisci la base minore del trapezio")
    terzo_numero.pack()
    terzo_numero.configure(bg="#589cf1")
    terzo_numero.place(x=800, y=110)
    b = Entry(f, text=testo2)
    b.pack()
    b.place(x=830, y=130)
    secondo_numero = Label(f, text="inserisci l'altezza del trapezio")
    secondo_numero.pack()
    secondo_numero.configure(bg="#589cf1")
    secondo_numero.place(x=815, y=150)
    H = Entry(f, textvar=testo)
    H.pack()
    H.place(x=830, y=170)
    def operazione():
        risultato = Entry(f)
        risultato.insert(0,
"{}".format((testo.get()+testo2.get())*testo1.get()/2))
        risultato.pack()
        risultato.configure()
        risultato.place(x=830, y=225)
    ciao = 1
    operazione_1 = Button(f, text="risultato", command=operazione)
    operazione_1.pack()
    operazione_1.configure(bg="#589cf1")
    operazione_1.place(x=865, y=195)

def area_rombo():
    testo1 = IntVar()
    testo = IntVar()
    primo_numero = Label(f, text="inserisci la base maggiore del rombo")
    primo_numero.pack()
    primo_numero.configure(bg="#589cf1")
    primo_numero.place(x=1030, y=70)
    B = Entry(f, textvar=testo1)
    B.pack()
    B.place(x=1050, y=90)
    secondo_numero = Label(f, text="inserisci base minore del rombo")
    secondo_numero.pack()
    secondo_numero.configure(bg="#589cf1")
    secondo_numero.place(x=1040, y=110)
    H = Entry(f, textvar=testo)
    H.pack()
    H.place(x=1050, y=130)
    def operazione():
        risultato = Entry(f)
        risultato.insert(0, "{}".format(testo.get()*testo1.get()/2))
        risultato.pack()
        risultato.configure()
        risultato.place(x=1050, y=190)
    ciao = 1
    operazione_1 = Button(f, text="risultato", command=operazione)
    operazione_1.pack()
    operazione_1.configure(bg="#589cf1")
    operazione_1.place(x=1080, y=155)

def area_triangolo():
    testo1 = IntVar()
    testo = IntVar()
    primo_numero = Label(f, text="inserisci la base del triangolo")
    primo_numero.pack()
    primo_numero.configure(bg="#589cf1")
    primo_numero.place(x=620, y=305)
    B = Entry(f, textvar=testo1)
    B.pack()
    B.place(x=630, y=325)
    secondo_numero = Label(f, text="inserisci l'altezza del triangolo")
    secondo_numero.pack()
    secondo_numero.configure(bg="#589cf1")
    secondo_numero.place(x=620, y=345)
    H = Entry(f, textvar=testo)
    H.pack()
    H.place(x=630, y=365)
    def operazione():
        risultato = Entry(f)
        risultato.insert(0, "{}".format(testo.get()*testo1.get()/2))
        risultato.pack()
        risultato.configure()
        risultato.place(x=630, y=420)
    ciao = 1
    operazione_1 = Button(f, text="risultato", command=operazione)
    operazione_1.pack()
    operazione_1.configure(bg="#589cf1")
    operazione_1.place(x=665, y=390)

def area_cerchio():
    testo = IntVar()
    primo_numero = Label(f, text="inserisci la dimensione del raggio del
cerchio")
    primo_numero.pack()
    primo_numero.configure(bg="#589cf1")
    primo_numero.place(x=805, y=305)
    R = Entry(f, textvar=testo)
    R.pack()
    R.place(x=860, y=325)
    def operazione():
        risultato = Entry(f)
        risultato.insert(0, "{}".format(testo.get()*testo.get()*3.14))
        risultato.pack()
        risultato.configure()
        risultato.place(x=860, y=380)
    ciao = 1
    operazione_1 = Button(f, text="risultato", command=operazione)
    operazione_1.pack()
    operazione_1.configure(bg="#589cf1")
    operazione_1.place(x=885, y=350)

def teorema_pitagora():
    testo = IntVar()
    testo1 = IntVar()
    base = Label(f, text="inserisci la dimensione della base del
triangolo", bg="#589cf1")
    base.pack()
    base.place(x=700, y=505)
    B = Entry(f, textvar=testo)
    B.pack()
    B.place(x=745, y=525)
    altezza = Label(f, text="inserisci la dimensione dell'altezza del
triangolo", bg="#589cf1")
    altezza.pack()
    altezza.place(x=700, y=545)
    H = Entry(f, textvar=testo1)
    H.pack()
    H.place(x=745, y=565)
    def operazione():
        risultato = Entry(f)
        risultato.insert(0,
"{}".format(testo.get()*testo.get()+testo1.get()*testo1.get()))
        risultato.pack()
        risultato.configure()
        risultato.place(x=745, y=620)
    operazione_1 = Button(f, text="risultato", command=operazione)
    operazione_1.pack()
    operazione_1.configure(bg="#589cf1")
    operazione_1.place(x=780, y=590)


f = Tk()
f.title("calcolatore")
f.geometry("2000x800")
f.configure(bg="#589cf1")

titolo = Label(f, text="CALCOLATORE DELLE AREE", font="helvetica 16 bold")
titolo.pack()
titolo.configure(fg="white", font="Times 18 bold", cursor="hand2",
bg="#589cf1")

quadrato = Button(f, text="QUADRATO", command=area_q)
quadrato.pack()
quadrato.configure(bg="#589cf1")
quadrato.place(x=470, y=40)

rettangolo = Button(f, text="RETTANGOLO", command=area_r)
rettangolo.pack()
rettangolo.configure(bg="#589cf1")
rettangolo.place(x=645, y=40)

trapezio = Button(f, text="TRAPEZIO", command=area_t)
trapezio.pack()
trapezio.configure(bg="#589cf1")
trapezio.place(x=860, y=40)

rombo = Button(f, text="ROMBO", command=area_rombo)
rombo.pack()
rombo.configure(bg="#589cf1")
rombo.place(x=1080, y=40)

triangolo = Button(f, text="TRIANGOLO", command=area_triangolo)
triangolo.pack()
triangolo.configure(bg="#589cf1")
triangolo.place(x=650, y=280)

cerchio = Button(f, text="CERCHIO", command=area_cerchio)
cerchio.pack()
cerchio.configure(bg="#589cf1")
cerchio.place(x=880, y=280)

teorema = Button(f, text="teorema di pitagora", command=teorema_pitagora)
teorema.pack()
teorema.configure(bg="#589cf1")
teorema.place(x=750, y=470)


f.mainloop
--------------------------------------


Maggiori informazioni sulla lista golem