{"id":220,"date":"2025-01-20T11:22:27","date_gmt":"2025-01-20T11:22:27","guid":{"rendered":"http:\/\/imported-164"},"modified":"2025-01-20T11:22:27","modified_gmt":"2025-01-20T11:22:27","slug":"03-incontro-del-18-1-2025","status":"publish","type":"post","link":"http:\/\/130.110.14.181\/index.php\/2025\/01\/20\/03-incontro-del-18-1-2025\/","title":{"rendered":"03 Incontro del 18-1-2025"},"content":{"rendered":"<h2>Range<\/h2>\n<p>La sequenza di numeri interi consecutivi \u00e8 di uso cos\u00ec frequente in Python che \u00e8 stata definita una funzione specifica, <strong>range()<\/strong>, per crearla.<br \/>La sintassi:<\/p>\n<p><samp style=\"padding-left: 30px;\"><em><strong>range (n1, n2, p)<\/strong><\/em><\/samp><\/p>\n<p>dove<\/p>\n<ul>\n<li>n1 l&#8217;intero da cui iniziare la sequenza; \u00e8 <em>opzionale<\/em> e per default \u00e8 0<\/li>\n<li>n2 l&#8217;intero, escluso, con cui concludere la sequenza<\/li>\n<li>p l&#8217;incremento (<em><strong>passo<\/strong><\/em>) della sequenza; \u00e8 <em>opzionale<\/em> e per default \u00e8 1<\/li>\n<\/ul>\n<pre>Indipendentemente dall'intervallo che rappresenta, la funzione range() memorizza solo i valori di inizio, fine ed incremento, per cui consuma molto meno memoria di quella che occuperebbe una lista.<\/pre>\n<p><strong>Esempi<\/strong><strong>o<\/strong><\/p>\n<p style=\"padding-left: 30px;\">a= range(3,6)<br \/>for x in a:<br \/>&nbsp;&nbsp;&nbsp; print(x, end=&#8217;\\t&#8217;)<\/p>\n<p>Risultato<br \/><strong>3 4 5<\/strong><\/p>\n<p><strong>Esempi<\/strong><strong>o<\/strong><\/p>\n<pre style=\"padding-left: 30px;\">a= range(6)<br \/>for x in a:<br \/>    print(x, end='\\t')<\/pre>\n<p>Risultato<br \/><strong>0 1 2 3 4 5<\/strong><\/p>\n<p><strong>Esempi<\/strong><strong>o<\/strong><\/p>\n<pre style=\"padding-left: 30px;\">a= range(3,9,2)<br \/>for x in a:<br \/>&nbsp;&nbsp;&nbsp; print(x, end='\\t')<\/pre>\n<p>Risultato<br \/><strong>3 5 7 <\/strong><\/p>\n<p>&nbsp;<\/p>\n<p>\ufffd <strong>Esercizio<br \/><em>Scrivere un programma che determini i divisori di un numero naturale digitato dall&#8217;utente.<\/em><\/strong><\/p>\n<p><strong>Una possibile soluzione<\/strong><\/p>\n<pre style=\"padding-left: 30px;\">n = int(input(\"Digita il numero naturale del quale determinare i divisori: \"))<br \/>print(f\"I divisori di {n} sono:\")<br \/>for i in range(1, n+1):&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; #range(1,n+1) crea una sequenza di numeri da 1a n+1 escluso<br \/>&nbsp;&nbsp;&nbsp; if n % i == 0:<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; print(i, end='&nbsp;&nbsp;&nbsp; ')<\/pre>\n<p>\ufffd <strong>Esercizio<br \/><\/strong><em>Visualizzare la tabellina di un numero naturale da 1 a 10 digitato dall&#8217;utente<\/em><\/p>\n<p><strong>Una possibile soluzione<\/strong><\/p>\n<pre style=\"padding-left: 30px;\"><strong>n = int(input(\"Digita un numero intero <\/strong><strong>da 1 a 10<\/strong><strong> del quale visualizzare la tabellina: \"))<br \/>for i in range(1,11):<br \/>&nbsp;&nbsp;&nbsp; print(n * i, end=\" <\/strong> <strong>\")<\/strong><\/pre>\n<p>\ufffd <strong>Esercizio<br \/><\/strong><em>Verificare se il numero naturale digitato dall&#8217;utente \u00e8 un numero primo.<\/em><\/p>\n<p><strong>Una possibile soluzione<\/strong><\/p>\n<pre style=\"padding-left: 30px;\"><strong>n = int(input(\"Digita il numero naturale del quale verificare <\/strong> <strong>se \u00e8 un numero primo: \"))<br \/>primo = True<br \/>for i in range(2, <\/strong><strong>n<\/strong><strong>, 1):<br \/>&nbsp;&nbsp;&nbsp; if n%i == 0:<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; primo = False<br \/>if primo:<br \/>&nbsp;&nbsp;&nbsp; print(f\"Il numero {n} \u00e8 primo!\")<br \/>else:<br \/>&nbsp;&nbsp;&nbsp; print(f\"Il numero {n} non \u00e8 primo!\")<\/strong><\/pre>\n<p>&nbsp;<\/p>\n<p><strong>Il 2 non viene preso in considerazione dal ciclo, per cui non altera il contenuto della variabile primo che permane col valore <\/strong><strong>True.<br \/><strong>Tale soluzione \u00e8 volutamente elementare, vedremo nella fase dedicata a<\/strong><\/strong><strong><strong>lla<\/strong><\/strong><strong><strong> Matematica come ottimizzarla.<\/strong><\/strong><\/p>\n<h2>Tuple<\/h2>\n<p>La <em><strong>tuple<\/strong><\/em> \u00e8 un insieme ordinato di pi\u00f9 <em><strong>elementi<\/strong><\/em> in un&#8217;unica variabile, e fin qui la definizione coincide con quella della lista, ma allora per cosa sono simili e per cosa differiscono?<\/p>\n<h3>Le differenze<\/h3>\n<ul>\n<li>Innanzitutto denotiamo la differenza nella loro creazione:<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a=[a,b,c,d,e] \u00e8 una lista<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b=(a,b,c,d,e) \u00e8 una tupla<br \/> Una tupla \u00e8 definita con gli elementi posti fra una parentesi tonda di apertura ed una di chiusura o semplicemente, senza parentesi, scrivendo i suoi elementi separati da virgole (sconsigliato).<sup>1<\/sup><\/li>\n<\/ul>\n<ul>\n<li>La differenza fondamentale tra le tuple e le liste \u00e8 che mentre le prime non possono essere modificate, le seconde s\u00ec: cio\u00e8 le&nbsp;<strong>tuple sono oggetti immutabili<\/strong><strong>.<\/strong><\/li>\n<li><strong>Fra una tupl<\/strong><strong>a<\/strong><strong> ed una lista contenenti gli stessi elementi, la<\/strong> tupla \u00e8&nbsp;<strong><strong>pi\u00f9 efficient<\/strong><\/strong><strong><strong>e<\/strong><\/strong><strong><strong> in termini di memoria<\/strong><\/strong>.<br \/> Poich\u00e9 le liste sono mutabili, Python deve riservare memoria aggiuntiva per consentire, dopo la sua creazione, una eventuale estensione della sua dimensione con l&#8217;aggiunta o modifica dei suoi elementi. Differentemente accade per le tuple che hanno dimensione fissa, poich\u00e9 immutabili, e per le quali Python riserva il minimo della memoria richiesta dai dati.<\/li>\n<li>Per lo stesso motivo anzidetto, le tuple hanno una migliore efficienza temporale, soprattutto nella fase di ricerca<\/li>\n<\/ul>\n<h3>Le similitudini<\/h3>\n<ul>\n<li>Sia nelle tuple che nelle liste \u00e8 possibile archiviare qualsiasi tipo di dati.<\/li>\n<li>Sia le tuple che le liste sono ordinate.<\/li>\n<li>\u00c8 possibile scorrere gli elementi contenuti sia nelle tuple che nelle liste, poich\u00e9 sono entrambi tipi di dati sequenziali.<\/li>\n<li>Si possono effettuare sulle tuple tutte quelle operazioni previste con le liste che non ne prevedano modifiche; in particolare si pu\u00f2 accedere sia agli elementi delle tuple che delle liste usando le parentesi quadre e un indice (<em>[indice]<\/em>).<\/li>\n<\/ul>\n<p><strong>P<\/strong><strong>er motivi di <\/strong><strong><strong>efficienza<\/strong><\/strong><strong>,<\/strong> <strong><strong>s<\/strong><\/strong><strong>e <\/strong><strong>si hanno <\/strong><strong>dati che non dovrebbero cambiare,<\/strong><strong> \u00e8 opportuna la <\/strong><strong>sce<\/strong><strong>lta del<\/strong><strong> tipo di dati tupla <\/strong><strong>piuttosto che lista<\/strong><strong>.<\/strong><\/p>\n<h2>Oggetti e valori<\/h2>\n<p>Se vengono create due <strong>diverse<\/strong> variabili alle quali viene assegnato lo stesso valore di tipo lista<\/p>\n<pre>&nbsp;&nbsp;&nbsp;&nbsp; var1=['a','b','c','d','e']<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;var2=['a','b','c','d','e']<\/pre>\n<p>e si ricavano i loro identificatori<\/p>\n<pre>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(id(var1))<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print(id(var2))<\/pre>\n<p><strong>140307786079040<br \/>140307782128512<\/strong><\/p>\n<p>si scopre che le liste hanno un comportamento diverso dai dati numerici e le stringhe, due liste diverse fanno SEMPRE riferimento ad oggetti diversi.<\/p>\n<p>Occorre per\u00f2 fare una precisazione; si analizzi il seguente programma:<\/p>\n<pre style=\"padding-left: 30px;\">var1=['a','b','c','d','e']<br \/>var2=var1<\/pre>\n<p>e si ricavano i loro identificatori<\/p>\n<pre style=\"padding-left: 30px;\">print(id(var1))<br \/>print(id(var2))<\/pre>\n<p><strong>140091535792960<br \/>140091535792960<\/strong><\/p>\n<p>var1 e var2 si riferiscono allo stesso oggetto (si pu\u00f2 dire che sono due alias dello stesso oggetto). Se modifico var1 viene modificato il valore di var2, poich\u00e9 fanno riferimento allo stesso oggetto; dunque conviene evitare la creazione di un alias ed effettuare una copia che assume un id diverso.<\/p>\n<h2>Le matrici (*)<\/h2>\n<p>La matrice \u00e8 una lista annidata i cui elementi sono le liste costituite dagli elementi di una riga. Chiariamo con un esempio. La matrice pu\u00f2 essere rappresentata dalla lista annidata di tre elementi<\/p>\n<pre style=\"padding-left: 30px;\">M = [ [1, 2, 3, 4], [5, 6, 7, 8],[9, 10, 11, 12]]<\/pre>\n<p>per cui M[0] seleziona la prima riga, M[1] la seconda, M[2] la terza. Per individuare un singolo elemento della matrice si deve usare un doppio indice: il primo per la riga ed il secondo per la colonna; ad esempio<\/p>\n<pre style=\"padding-left: 30px;\">M [2] [2]<\/pre>\n<p>individua l&#8217;elemento all&#8217;incrocio fra la terza riga e la terza colonna, cio\u00e8 11.<\/p>\n<p>Va sottolineato che questo \u00e8 uno dei vari modi di rappresentare le matrici; un&#8217;alternativa, ad esempio, \u00e8 quella di rappresentare la matrice come una lista di colonne invece che di righe.<\/p>\n<h1><strong>Attivit\u00e0 ludica e di c<\/strong><strong>onsolidamento con <\/strong><strong>la<\/strong> <em><strong>turtle<\/strong><\/em> <em><strong>graphics<\/strong><\/em> <sup>2<\/sup><\/h1>\n<p>Le procedure grafiche ben si prestano al consolidamento dei costrutti fin qui appresi, poich\u00e8 ne consentono un riscontro visivo immediato ed inoltre aprono la strada alla progettazione delle funzioni.<br \/>Un aiuto viene dal modulo grafico <strong>turtle<\/strong> che consente la creazione di immagini grazie alla <em><strong>turtle graphics<\/strong><\/em><sup>3<\/sup>, modulo gi\u00e0 integrato in quasi tutte le installazioni di Python.<br \/>Il modulo turtle crea una tartaruga, rappresentata simbolicamente nel nostro caso dalla punta di una freccia; durante il movimento, ottenuto con comandi esplicativi e molto semplici, trasporta una penna con la quale pu\u00f2 lasciare traccia del suo movimento. Al momento della sua creazione la tartaruga \u00e8 orientata a destra ed \u00e8 posta al centro dello schermo che viene individuato come un sistema di assi cartesiani ortogonali il cui punto di origine \u00e8 proprio il suo centro.<\/p>\n<p><strong>La tartaruga nasce con coordinate (0,0) ed orientata a destra.<\/strong><\/p>\n<p>Per iniziare a disegnare \u00e8 ovviamente necessario importare il modulo:<\/p>\n<pre style=\"padding-left: 30px;\">import turtle<\/pre>\n<p>che mette a disposizione moltissimi metodi<sup>4<\/sup>, i pi\u00f9 popolari dei quali vengono riportati nelle seguenti tabelle, raggruppati per omogeneit\u00e0.<\/p>\n<table cellpadding=\"4\" cellspacing=\"0\">\n<tbody>\n<tr>\n<td>\n<p><strong>Movimento<\/strong><\/p>\n<\/td>\n<td>\n<p><strong>Descrizione<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>forward(<em>pixel<\/em>)<\/p>\n<p>fd(<em>pixel<\/em>)<\/p>\n<\/td>\n<td>\n<p>Sposta la tartaruga in avanti, nell&#8217;orientamento contestuale, di una distanza pari al numero di pixel specificato come parametro.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>backward(<em>pixel<\/em>)<\/p>\n<p>bk(<em>pixel<\/em>)<\/p>\n<\/td>\n<td>\n<p>Sposta la tartaruga indietro, nel verso contestuale, di una distanza pari al numero di pixel fornito come parametro.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>left(<em>angolo<\/em>)<\/p>\n<p>lt(<em>angolo<\/em>)<\/p>\n<\/td>\n<td>\n<p>Ruota in senso antiorario dell&#8217;angolo sessagesimale specificato.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>right(<em>angolo<\/em>)<\/p>\n<p>rt(<em>angolo<\/em>)<\/p>\n<\/td>\n<td>\n<p>Ruota in senso orario dell&#8217;angolo sessagesimale indicato.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>goto(<em>x,y<\/em>)<\/p>\n<\/td>\n<td>\n<p>Sposta la tartaruga nel punto di coordinate (x,y); home (la tana) ha coordinate (0,0).<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>home()<\/p>\n<\/td>\n<td>\n<p>Sposta la tartaruga nel punto di coordinate (0,0) cio\u00e8 al centro dello schermo e la orienta a destra.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>reset()<\/p>\n<\/td>\n<td>\n<p>Dopo aver pulito lo schermo, colloca la tartaruga nel punto di coordinate (0,0) cio\u00e8 al centro dello schermo e la orienta a destra.<\/p>\n<p>Se si vuol pulire lo schermo, lasciando inalterata la posizione della tartaruga \u00e8 messo a disposizione il metodo <strong>clear()<\/strong>.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>speed(<em>velocit\u00e0<\/em>)<\/p>\n<\/td>\n<td>\n<p>Imposta la velocit\u00e0 della tartaruga con un argomento intero compreso tra 0 e 10: da 1 a 10 con un&#8217;animazione sempre pi\u00f9 rapida sia nel disegno delle linee che nella rotazione della tartaruga, mentre con la &nbsp;<em>velocit\u00e0<\/em>&nbsp;impostata su 0 tutto avviene con una velocit\u00e0 ancora pi\u00f9 alta delle precedenti.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>I primi quattro metodi impartiscono spostamenti relativi, i restanti imprimono spostamenti assoluti.<\/p>\n<p>Va notato che un parametro negativo per forward produce un movimento indietro e non in avanti, cio\u00e8 opposto alla traduzione letterale del metodo; in maniera analoga si comportano backward, left e right.<\/p>\n<p><strong>Esempio<\/strong><\/p>\n<p>Disegniamo un quadrato di lato 200 pixel.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/images\/Quadrato.png\" alt=\"Quadrato.png\" width=\"300\" height=\"424\" style=\"float: right;\" \/><\/p>\n<ol>\n<li>importare il modulo turtle: import turtle<\/li>\n<li>mettere gi\u00f9 la penna in modo da lasciare traccia del movimento: turtle.pd()<\/li>\n<li>muovere la penna in avanti di 200 px: turtle.fd(200)<\/li>\n<li>ruotare la tartaruga di 90\u00b0 verso destra (angolo esterno!): turtle.rt(90)<\/li>\n<li>ripetere l&#8217;azione del punto 3<\/li>\n<li>ripetere l&#8217;azione del punto 4<\/li>\n<li>ripetere l&#8217;azione del punto 3<\/li>\n<li>ripetere l&#8217;azione del punto 4<\/li>\n<li>ripetere l&#8217;azione del punto 3<\/li>\n<li>ripetere l&#8217;azione del punto 4 (per portare la tartaruga all&#8217;orientamento iniziale)<\/li>\n<\/ol>\n<p>In definitiva il programma diventa:<\/p>\n<pre style=\"padding-left: 30px;\">import turtle<br \/><br \/>turtle.fd(200)<br \/>turtle.rt(90)<br \/>turtle.fd(200)<br \/>turtle.rt(90)<br \/>turtle.fd(200)<br \/>turtle.rt(90)<br \/>turtle.fd(200)<br \/>turtle.rt(90)<\/pre>\n<pre style=\"padding-left: 30px;\">turtle.mainloop()<\/pre>\n<p>L&#8217;angolo di rotazione della tartaruga \u00e8 pari all&#8217;angolo esterno del lato; poich\u00e9, qualunque sia il numero dei suoi lati, la somma degli angoli esterni di un poligono \u00e8 di 360\u00b0, l&#8217;angolo di cui la tartaruga deve ruotare \u00e8 pari a (360\/4)\u00b0<\/p>\n<p>Mandando in esecuzione il programma si apre la finestra:<\/p>\n<p>&nbsp;<img loading=\"lazy\" decoding=\"async\" src=\"\/images\/Finestra.png\" alt=\"Finestra.png\" width=\"300\" height=\"267\" style=\"display: block; margin-left: auto; margin-right: auto;\" \/><\/p>\n<p>Con il metodo mainloop() il programma attender\u00e0 che la finestra grafica della tartaruga venga chiusa.<\/p>\n<table cellpadding=\"4\" cellspacing=\"0\">\n<tbody>\n<tr>\n<td>\n<p><strong>Controllo della penna<\/strong><\/p>\n<\/td>\n<td>\n<p><strong>Descrizione<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>penup()<\/p>\n<p>pu()<\/p>\n<p>up()<\/p>\n<\/td>\n<td>\n<p>Solleva la penna; la tartaruga non lascia traccia durante il movimento.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>pendown() pd() down()<\/td>\n<td>\n<p>Abbassa la penna; la tartaruga lascia traccia durante il movimento.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>pensize(<em>larghezza<\/em>)<\/p>\n<p>width(<em>larghezza<\/em>)<\/p>\n<\/td>\n<td>\n<p>Imposta la larghezza della punta della penna.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>pencolor(<em>nomeColore<\/em>)<\/p>\n<\/td>\n<td>\n<p>Imposta il colore della penna indicato come stringa: &#8220;red&#8221;, &#8220;green&#8221;, &#8220;yellow&#8221;, &#8220;blue&#8221;, &#8220;orange&#8221;, &#8220;gray&#8221;, &#8220;purple&#8221;, &#8220;black&#8221;, &#8230;<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p>pencolor(<em>r, g, b<\/em>)<\/p>\n<\/td>\n<td>\n<p>Imposta il colore della penna sul colore RGB specificando i valori del rosso, verde e blu, con valori fra 0 e 255.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p><strong>Esempio<\/strong><\/p>\n<p>Disegniamo il triangolo avente i vertici nei punti di coordinate A(-50,-70), B(150,20) e C(200,200)<img loading=\"lazy\" decoding=\"async\" src=\"\/images\/Triangolo.png\" alt=\"Triangolo.png\" width=\"289\" height=\"291\" style=\"float: right;\" \/><\/p>\n<pre style=\"padding-left: 30px;\">import turtle <\/pre>\n<pre style=\"padding-left: 30px;\">turtle.width(4)<br \/>turtle.pencolor(\"blue\")<br \/>turtle.penup()<br \/>turtle.goto(-50,-70)<br \/>turtle.pendown()<br \/>turtle.goto(150,20)<br \/>turtle.goto(200,200)<br \/>turtle.goto(-50,-70) <\/pre>\n<pre style=\"padding-left: 30px;\">turtle.mainloop()<\/pre>\n<p style=\"text-align: center;\">&nbsp;<\/p>\n<table cellpadding=\"4\" cellspacing=\"0\">\n<tbody>\n<tr>\n<td>\n<p><strong>Stato della tartaruga<\/strong><\/p>\n<\/td>\n<td>\n<p><strong>Descrizione<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>hideturtle() ht()<\/td>\n<td>\n<p>Nasconde la tartaruga. <em>Pu\u00f2 <\/em><em>ess<\/em><em>ere utile per i disegni complessi, poich<\/em><em>\u00e9<\/em> <em>velocizza notevolmente il disegno.<\/em><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>showturtle() st()<\/td>\n<td>\n<p>Rende visibile la tartaruga.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>isdown()<\/td>\n<td>\n<p>Ritorna&nbsp;<br \/> True se la penna \u00e8 abbassata,&nbsp;<br \/> False se la penna \u00e8 alzata.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<table cellpadding=\"4\" cellspacing=\"0\">\n<tbody>\n<tr>\n<td>\n<p><strong>Altri metodi di nostro interesse<\/strong><\/p>\n<\/td>\n<td>\n<p><strong>Descrizione<\/strong><\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>bgcolor(<em>&#8220;<\/em><em>colore<\/em><em>&#8220;<\/em>)<\/td>\n<td>\n<p>Personalizza il colore di sfondo della finestra grafica<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>delay(<em>millisecondi<\/em>)<\/td>\n<td>\n<p>Ritarda l&#8217;aggiornamento del disegno di un tempo pari ai millisecondi specificati.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>numinput(<em><em>tit<\/em><\/em><em><em>o<\/em><\/em><em><em>l<\/em><\/em><em><em>o<\/em><\/em><em>,<\/em><em><em>prompt<\/em><\/em><em>,<\/em><em><em>default<\/em><\/em><em>,<\/em><em><em>val<\/em><\/em><em><em>Min<\/em><\/em><em>,<\/em><em><em>val<\/em><\/em><em><em>Max<\/em><\/em>)<\/td>\n<td>\n<p>Apre una finestra di dialogo per l&#8217;immissione di un numero.<\/p>\n<p><strong>tit<\/strong><strong>o<\/strong><strong>l<\/strong><strong>o<\/strong> \u00e8 il titolo della finestra di dialogo<\/p>\n<p><strong>prompt<\/strong> \u00e8 un testo che suggerisce quali informazioni numeriche immettere<\/p>\n<p><strong>defaul<\/strong><strong>t<\/strong> \u00e8 il valore predefinito; opzionale<\/p>\n<p><em><strong>val<\/strong><\/em><em><strong>Min<\/strong><\/em> <em>\u00e8 il<\/em> minimo del valore da immettere; opzionale<\/p>\n<p><em><strong>val<\/strong><\/em><em><strong>Max<\/strong><\/em> \u00e8 il massimo del valore da immettere; opzionale<\/p>\n<p>Se vengono specificati valMin e valMax, il numero da digitare deve essere compreso nell&#8217;intervallo da essi individuato, altrimenti viene emesso un messaggio di errore e la finestra di dialogo rimane in attesa di una correzione del dato.<\/p>\n<p><strong>I<\/strong><strong>l <\/strong><strong>valore<\/strong><strong> immesso<\/strong><strong> come stringa <\/strong><strong>viene restituito <\/strong><strong>dopo averlo trasformato in <\/strong><em><strong>float<\/strong><\/em>.<\/p>\n<\/td>\n<\/tr>\n<tr>\n<td>\n<p><strong>circle(ra<\/strong><strong>ggio<\/strong><strong>)<\/strong><\/p>\n<\/td>\n<td>\n<p>Disegna un cerchio del raggio assegnato, partendo della posizione della tartaruga; in senso orario se il raggio \u00e8 negativo, antiorario se positivo.<\/p>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>&nbsp;<\/p>\n<h2><strong>Dare un nome alla tartaruga<\/strong><\/h2>\n<p>Se importiamo il modulo con:<\/p>\n<pre style=\"padding-left: 30px;\">import turtle as tarta<\/pre>\n<p>non dovremo pi\u00f9 impartire i comandi con riferimento all&#8217;oggetto turtle, bens\u00ec a tarta; ad esempio per spostare la tartaruga in avanti, scriveremo:<\/p>\n<pre style=\"padding-left: 30px;\">tarta.fd(100)<\/pre>\n<p>\u00c8 possibile pervenire allo stesso risultato creando tarta come una istanza della libreria turtle:<\/p>\n<pre style=\"padding-left: 30px;\">import turtle<br \/>tarta=turtle.Turtle()<\/pre>\n<p>Va notato che <strong>turtle \u00e8 <\/strong><strong>l&#8217;<\/strong><strong>istanza di default<\/strong>.<\/p>\n<p>Quella della creazione delle istanze \u00e8 una cosa utile laddove si vogliano tracciare pi\u00f9 disegni contemporaneamente affidandosi a pi\u00f9 oggetti.<\/p>\n<p>Per semplicit\u00e0 nella creazione degli script, nel proseguo importeremo la libreria ponendo in cima al programma la riga<\/p>\n<pre style=\"padding-left: 30px;\">from turtle import *<\/pre>\n<p>che ci permetter\u00e0 di non usare la notazione punto e di scrivere semplicemente il metodo, dando per scontato che essa \u00e8 <strong>riferita all&#8217;istanza turtle<\/strong>. ad esempio scriveremo:<\/p>\n<pre style=\"padding-left: 30px;\">fd(200)<\/pre>\n<p>invece di turtle.fd(200).<\/p>\n<p>\ufffd <strong>Esercizio<\/strong><\/p>\n<p>Come \u00e8 facile notare, nel tracciare il quadrato viene ripetuta per quattro volte una coppia di comandi: uno di spostamento ed uno di rotazione.<br \/> <em>Ottimizzare<\/em><em>,<\/em><em> con un ciclo for<\/em><em>, <\/em><em>il codice <\/em><em>per disegnare il quadrato di lato 200 px<\/em><em> seguendo il seguente programma scritto in linguaggio naturale:<\/em><\/p>\n<pre style=\"padding-left: 30px;\">se la penna \u00e8 su<br \/>porta la penna gi\u00f9<br \/>ripeti per 4 volte<br \/>avanti 200<br \/>ruota a destra di 90\u00b0<\/pre>\n<p><strong>Una possibile soluzione:<\/strong><\/p>\n<p>from turtle import *<\/p>\n<p>if (isdown() == False):<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pendown<br \/>for i in range(4):<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fd(200)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rt(90)<\/p>\n<p>mainloop()<\/p>\n<p><strong>Una seconda soluzione:<\/strong><\/p>\n<pre style=\"padding-left: 30px;\">from turtle import * <\/pre>\n<pre style=\"padding-left: 30px;\">n=1<br \/>while n&lt;=4:<br \/>fd(200)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;right(90)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;n=n+1<\/pre>\n<pre style=\"padding-left: 30px;\">mainloop()<\/pre>\n<p>\ufffd <strong>Esercizio<\/strong><\/p>\n<p><em>Creare uno script che disegni un triangolo equilatero di lato 200 px, tenendo presente che ora i lati sono 3 per cui l&#8217;angolo esterno \u00e8 di (360\/3)\u00b0. Pu\u00f2 essere di aiuto il seguente algoritmo in linguaggio naturale:<\/em><\/p>\n<p>&nbsp;<\/p>\n<p><em><img loading=\"lazy\" decoding=\"async\" src=\"\/images\/Triangolo_equilatero.png\" alt=\"Triangolo_equilatero.png\" width=\"240\" height=\"252\" style=\"float: right;\" \/><\/em><\/p>\n<pre style=\"padding-left: 30px;\">se la penna \u00e8 su<br \/>porta la penna gi\u00f9<br \/>ripeti per 3 volte<br \/>avanti 200<br \/><em>ruota a sinistra di (360\/3)<\/em><\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Una possibile soluzione:<\/strong><\/p>\n<pre style=\"padding-left: 30px;\">from turtle import *<\/pre>\n<pre style=\"padding-left: 30px;\">if (isdown() == False):<br \/>&nbsp;&nbsp;&nbsp;&nbsp;pendown()<br \/>&nbsp;&nbsp;&nbsp;&nbsp;for i in range(3):<br \/>&nbsp;&nbsp;&nbsp;&nbsp;fd(200)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;lt(360\/3)<\/pre>\n<pre style=\"padding-left: 30px;\">mainloop()<\/pre>\n<h2><strong>Incapsulamento<\/strong><sup>5<\/sup><\/h2>\n<p>Perch\u00e9 non insegnare alla tartaruga come costruire un quadrato o un triangolo, senza dovergli ripetere i comandi pi\u00f9 volte?<\/p>\n<p>Lo possiamo fare definendo una funzione, cio\u00e8 un insieme di comandi a cui diamo un nome. Ad esempio, se diamo un nome <em><strong>quadrato<\/strong><\/em> allo script:<\/p>\n<pre style=\"padding-left: 30px;\">for i in range(4):<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fd(200)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lt(360\/4)<\/pre>\n<p>baster\u00e0 dire <em><strong>quadrato<\/strong><\/em><em><strong>()<\/strong><\/em> alla tartaruga, perch\u00e9 essa tracci un quadrato di lato pari a 200 px. Ad esempio:<\/p>\n<pre style=\"padding-left: 30px;\">from turtle import * <\/pre>\n<pre style=\"padding-left: 30px;\">def quadrato():<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for i in range(4):<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fd(200)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lt(360\/4) <\/pre>\n<pre style=\"padding-left: 30px;\">if (isdown == False):<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pendown()<br \/>quadrato()<\/pre>\n<pre style=\"padding-left: 30px;\">mainloop()<\/pre>\n<p><strong>def<\/strong> sta ad indicare che si sta definendo una funzione; def richiede che accanto, dopo uno spazio, venga indicato il nome che si vuole assegnare alla funzione seguito da una parente tonda aperta, una chiusa e due punti. Subito dopo vanno inseriti i comandi indentati rispetto a def; una riga non indentata pone fine all&#8217;incapsulamento.<\/p>\n<p>\ufffd <strong>Esercizio<\/strong><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"\/images\/20_quadratini.png\" alt=\"20_quadratini.png\" width=\"420\" height=\"41\" style=\"display: block; margin-left: auto; margin-right: auto;\" \/><\/p>\n<p><em>Disegnare 20 quadrati di lato 10 px distanziati fra loro.<\/em><\/p>\n<p><strong>Una possibile soluzione:<\/strong><\/p>\n<pre style=\"padding-left: 30px;\">from turtle import * <\/pre>\n<pre style=\"padding-left: 30px;\">def quadrato():<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for i in range(4):<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fd(10)<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lt(360\/4) <\/pre>\n<pre style=\"padding-left: 30px;\">speed(0)<br \/>penup()<br \/>goto(-200,0)<br \/>hideturtle()<\/pre>\n<pre style=\"padding-left: 30px;\">for i in range(20):<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pendown()<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;quadrato()<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;penup()<br \/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;forward(20) <\/pre>\n<pre style=\"padding-left: 30px;\">mainloop()<\/pre>\n<p>_______________________________________________________________<\/p>\n<p><strong>NOTE<\/strong><\/p>\n<p>1 \u00c8 possibile creare una tupla costituita da un singolo elemento, purch\u00e9 aggiungiamo una virgola.<\/p>\n<p>2&nbsp;<a href=\"https:\/\/docs.python.org\/3\/library\/turtle.html#starting-a-turtle-environment\"> <\/a><a href=\"https:\/\/docs.python.org\/3\/library\/turtle.html#starting-a-turtle-environment\">https:\/\/docs.python.org\/3\/library\/turtle.html#starting-a-turtle-environment<\/a><\/p>\n<p>3 \u00c8 un&#8217;implementazione del <em><strong>Logo<\/strong><\/em>, sviluppato nel 1967 ad opera di Wally Feurzeig, Seymour Papert e Cynthia Solomon.<\/p>\n<p>4 Azioni che pu\u00f2 fare.<\/p>\n<p>5 Consiste nell&#8217;inglobare una serie di istruzioni in una funzione.<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Range La sequenza di numeri interi consecutivi \u00e8 di uso cos\u00ec frequente in Python che \u00e8 stata definita una funzione specifica, range(), per crearla.La sintassi: range (n1, n2, p) dove [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_EventAllDay":false,"_EventTimezone":"","_EventStartDate":"","_EventEndDate":"","_EventStartDateUTC":"","_EventEndDateUTC":"","_EventShowMap":false,"_EventShowMapLink":false,"_EventURL":"","_EventCost":"","_EventCostDescription":"","_EventCurrencySymbol":"","_EventCurrencyCode":"","_EventCurrencyPosition":"","_EventDateTimeSeparator":"","_EventTimeRangeSeparator":"","_EventOrganizerID":[],"_EventVenueID":[],"_OrganizerEmail":"","_OrganizerPhone":"","_OrganizerWebsite":"","_VenueAddress":"","_VenueCity":"","_VenueCountry":"","_VenueProvince":"","_VenueState":"","_VenueZip":"","_VenuePhone":"","_VenueURL":"","_VenueStateProvince":"","_VenueLat":"","_VenueLng":"","_VenueShowMap":false,"_VenueShowMapLink":false,"footnotes":""},"categories":[27],"tags":[],"class_list":["post-220","post","type-post","status-publish","format-standard","hentry","category-guide"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>03 Incontro del 18-1-2025 - PugliaSOS2.0<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"http:\/\/130.110.14.181\/index.php\/2025\/01\/20\/03-incontro-del-18-1-2025\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"03 Incontro del 18-1-2025 - PugliaSOS2.0\" \/>\n<meta property=\"og:description\" content=\"Range La sequenza di numeri interi consecutivi \u00e8 di uso cos\u00ec frequente in Python che \u00e8 stata definita una funzione specifica, range(), per crearla.La sintassi: range (n1, n2, p) dove [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"http:\/\/130.110.14.181\/index.php\/2025\/01\/20\/03-incontro-del-18-1-2025\/\" \/>\n<meta property=\"og:site_name\" content=\"PugliaSOS2.0\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-20T11:22:27+00:00\" \/>\n<meta name=\"author\" content=\"PugliaSOS\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"PugliaSOS\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"http:\\\/\\\/130.110.14.181\\\/index.php\\\/2025\\\/01\\\/20\\\/03-incontro-del-18-1-2025\\\/#article\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/130.110.14.181\\\/index.php\\\/2025\\\/01\\\/20\\\/03-incontro-del-18-1-2025\\\/\"},\"author\":{\"name\":\"PugliaSOS\",\"@id\":\"http:\\\/\\\/130.110.14.181\\\/#\\\/schema\\\/person\\\/1e219b3d8de394c7d6969b52c116f336\"},\"headline\":\"03 Incontro del 18-1-2025\",\"datePublished\":\"2025-01-20T11:22:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"http:\\\/\\\/130.110.14.181\\\/index.php\\\/2025\\\/01\\\/20\\\/03-incontro-del-18-1-2025\\\/\"},\"wordCount\":2039,\"articleSection\":[\"Guide\"],\"inLanguage\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"http:\\\/\\\/130.110.14.181\\\/index.php\\\/2025\\\/01\\\/20\\\/03-incontro-del-18-1-2025\\\/\",\"url\":\"http:\\\/\\\/130.110.14.181\\\/index.php\\\/2025\\\/01\\\/20\\\/03-incontro-del-18-1-2025\\\/\",\"name\":\"03 Incontro del 18-1-2025 - PugliaSOS2.0\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/130.110.14.181\\\/#website\"},\"datePublished\":\"2025-01-20T11:22:27+00:00\",\"author\":{\"@id\":\"http:\\\/\\\/130.110.14.181\\\/#\\\/schema\\\/person\\\/1e219b3d8de394c7d6969b52c116f336\"},\"breadcrumb\":{\"@id\":\"http:\\\/\\\/130.110.14.181\\\/index.php\\\/2025\\\/01\\\/20\\\/03-incontro-del-18-1-2025\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"http:\\\/\\\/130.110.14.181\\\/index.php\\\/2025\\\/01\\\/20\\\/03-incontro-del-18-1-2025\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"http:\\\/\\\/130.110.14.181\\\/index.php\\\/2025\\\/01\\\/20\\\/03-incontro-del-18-1-2025\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\\\/\\\/130.110.14.181\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"03 Incontro del 18-1-2025\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\\\/\\\/130.110.14.181\\\/#website\",\"url\":\"http:\\\/\\\/130.110.14.181\\\/\",\"name\":\"PugliaSOS2.0\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\\\/\\\/130.110.14.181\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"http:\\\/\\\/130.110.14.181\\\/#\\\/schema\\\/person\\\/1e219b3d8de394c7d6969b52c116f336\",\"name\":\"PugliaSOS\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0f3d85b8e8409fc2c484f438be7de4caf93659f326adbb248e8a1ac5c2e16fd6?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0f3d85b8e8409fc2c484f438be7de4caf93659f326adbb248e8a1ac5c2e16fd6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/0f3d85b8e8409fc2c484f438be7de4caf93659f326adbb248e8a1ac5c2e16fd6?s=96&d=mm&r=g\",\"caption\":\"PugliaSOS\"},\"url\":\"http:\\\/\\\/130.110.14.181\\\/index.php\\\/author\\\/pugliasos\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"03 Incontro del 18-1-2025 - PugliaSOS2.0","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"http:\/\/130.110.14.181\/index.php\/2025\/01\/20\/03-incontro-del-18-1-2025\/","og_locale":"it_IT","og_type":"article","og_title":"03 Incontro del 18-1-2025 - PugliaSOS2.0","og_description":"Range La sequenza di numeri interi consecutivi \u00e8 di uso cos\u00ec frequente in Python che \u00e8 stata definita una funzione specifica, range(), per crearla.La sintassi: range (n1, n2, p) dove [&hellip;]","og_url":"http:\/\/130.110.14.181\/index.php\/2025\/01\/20\/03-incontro-del-18-1-2025\/","og_site_name":"PugliaSOS2.0","article_published_time":"2025-01-20T11:22:27+00:00","author":"PugliaSOS","twitter_card":"summary_large_image","twitter_misc":{"Scritto da":"PugliaSOS","Tempo di lettura stimato":"13 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"http:\/\/130.110.14.181\/index.php\/2025\/01\/20\/03-incontro-del-18-1-2025\/#article","isPartOf":{"@id":"http:\/\/130.110.14.181\/index.php\/2025\/01\/20\/03-incontro-del-18-1-2025\/"},"author":{"name":"PugliaSOS","@id":"http:\/\/130.110.14.181\/#\/schema\/person\/1e219b3d8de394c7d6969b52c116f336"},"headline":"03 Incontro del 18-1-2025","datePublished":"2025-01-20T11:22:27+00:00","mainEntityOfPage":{"@id":"http:\/\/130.110.14.181\/index.php\/2025\/01\/20\/03-incontro-del-18-1-2025\/"},"wordCount":2039,"articleSection":["Guide"],"inLanguage":"it-IT"},{"@type":"WebPage","@id":"http:\/\/130.110.14.181\/index.php\/2025\/01\/20\/03-incontro-del-18-1-2025\/","url":"http:\/\/130.110.14.181\/index.php\/2025\/01\/20\/03-incontro-del-18-1-2025\/","name":"03 Incontro del 18-1-2025 - PugliaSOS2.0","isPartOf":{"@id":"http:\/\/130.110.14.181\/#website"},"datePublished":"2025-01-20T11:22:27+00:00","author":{"@id":"http:\/\/130.110.14.181\/#\/schema\/person\/1e219b3d8de394c7d6969b52c116f336"},"breadcrumb":{"@id":"http:\/\/130.110.14.181\/index.php\/2025\/01\/20\/03-incontro-del-18-1-2025\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["http:\/\/130.110.14.181\/index.php\/2025\/01\/20\/03-incontro-del-18-1-2025\/"]}]},{"@type":"BreadcrumbList","@id":"http:\/\/130.110.14.181\/index.php\/2025\/01\/20\/03-incontro-del-18-1-2025\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/130.110.14.181\/"},{"@type":"ListItem","position":2,"name":"03 Incontro del 18-1-2025"}]},{"@type":"WebSite","@id":"http:\/\/130.110.14.181\/#website","url":"http:\/\/130.110.14.181\/","name":"PugliaSOS2.0","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/130.110.14.181\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Person","@id":"http:\/\/130.110.14.181\/#\/schema\/person\/1e219b3d8de394c7d6969b52c116f336","name":"PugliaSOS","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/secure.gravatar.com\/avatar\/0f3d85b8e8409fc2c484f438be7de4caf93659f326adbb248e8a1ac5c2e16fd6?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/0f3d85b8e8409fc2c484f438be7de4caf93659f326adbb248e8a1ac5c2e16fd6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0f3d85b8e8409fc2c484f438be7de4caf93659f326adbb248e8a1ac5c2e16fd6?s=96&d=mm&r=g","caption":"PugliaSOS"},"url":"http:\/\/130.110.14.181\/index.php\/author\/pugliasos\/"}]}},"jetpack_featured_media_url":"","_links":{"self":[{"href":"http:\/\/130.110.14.181\/index.php\/wp-json\/wp\/v2\/posts\/220","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/130.110.14.181\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/130.110.14.181\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/130.110.14.181\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/130.110.14.181\/index.php\/wp-json\/wp\/v2\/comments?post=220"}],"version-history":[{"count":0,"href":"http:\/\/130.110.14.181\/index.php\/wp-json\/wp\/v2\/posts\/220\/revisions"}],"wp:attachment":[{"href":"http:\/\/130.110.14.181\/index.php\/wp-json\/wp\/v2\/media?parent=220"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/130.110.14.181\/index.php\/wp-json\/wp\/v2\/categories?post=220"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/130.110.14.181\/index.php\/wp-json\/wp\/v2\/tags?post=220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}