Python

La versione di Python disponibile sulla vostra calcolatrice NumWorks è MicroPython 1.12, compatibile con Python 3.4.

Script

L’elenco degli script

Quando si entra nell’applicazione, viene visualizzato l’elenco degli script salvati. Quando si utilizza l’applicazione per la prima volta, vengono definiti quattro script a titolo d’esempio: squares.py, parabola.py, mandelbrot.py e polynomial.py.

Aggiungere o rimuovere uno script dalla lista

È possibile aggiungere script nella lista fino ad esaurimento della memoria.

  1. Selezionare la cella Aggiungi uno script in fondo alla lista.
  2. Confermare premendo ok.

Nella lista appare un nuovo script. È quindi possibile inserire un nome per questo script.

Per cancellare uno script, selezionare l’icona delle impostazioni accanto al nome dello script e premere ok. Scegliere Cancella lo script e premere ok.

Autocompletamento

L’editor di script dispone dell’autocompletamento. Quando iniziate a digitare una parola, l’applicazione vi propone un suggerimento in grigio.

  • Per accettare il suggerimento, cliccare sul tasto right o ok
  • Per rifiutare il suggerimento, cliccare sul tasto back o continuare semplicemente a scrivere la parola
  • Per ottenere un nuovo suggerimento, cliccare sul tasto up o down
  • Tutti i suggerimenti possibili per il prefisso inserito sono elencati nel menù che compare cliccando il tasto var

Rinominare uno script

Per modificare il nome di uno script, selezionare l’icona delle impostazioni accanto al nome dello script e premere ok. Scegliere Rinomina script e premere ok per confermare. Ora è possibile modificare il nome dello script.

Modificare uno script

Per scrivere in uno script, selezionare semplicemente il nome dello script e premere ok. L’editor si apre ed è possibile scrivere i propri algoritmi all’interno.

Per aiutarvi a scrivere, premete toolbox. Un menù si aprirà e mostrerà alcune scorciatoie per facilitare l’editing. Il menù Loop e test offre blocchi precompilati per i loop for e while, i test if e una serie di condizioni. Il menù Catalogo elenca le funzioni presenti in Python e ne fornisce una breve descrizione. Si può anche usare il tasto var per visualizzare la lista delle funzioni definite nei vostri script e le variabili globali.

Se si desidera copiare e incollare parte di un testo, selezionare i caratteri da copiare tenendo premuto il tasto shift e utilizzando left o right. Quindi premere il tasto shift e poi il tasto var per copiare la selezione. Premere shift e toolbox per incollarla.

Disabilitare l’importazione automatica nella shell

L’importazione automatica è abilitata automaticamente per i vostri script. Ciò significa che il comando from nome_dello_script import * viene inserito sistematicamente all’apertura della shell in modo da poter utilizzare le funzioni definite negli script all’interno della console.

Per disattivare l’importazione automatica di uno script, selezionare l’icona delle impostazioni accanto al nome dello script e premere ok. Scegliere Importazione automatica nella shell e premere ok per attivare o disattivare l’interruttore. L’interruttore diventa grigio e lo script non verrà più attivato automaticamente.

La shell

In fondo alla lista degli script c’è un pulsante Shell Python che permette l’accesso alla shell interattiva di Python.

La tripla freccia >>> richiede l’inserimento di un comando.

Potete usare le scorciatoie del menù toolbox per facilitare l’inserimento del testo. Il menù var visualizza l’elenco delle funzioni e delle variabili globali contenute negli script importati.

Moduli

I moduli presenti in questa versione di Python sono i moduli math, cmath, matplotlib.pyplot, turtle, random, kandinsky, ion e time.

Il modulo math

Ecco la descrizione completa del modulo “math”. Potete ottenere questo elenco sulla vostra calcolatrice premendo toolbox e andando su Moduli poi math.

e

La costante e=2.718281828459045

pi

La costante pi=3.141592653589793

sqrt(x)

Radice quadrata, digitare sqrt(x) per calcolare x\sqrt{x}.

pow(x,y)

Potenza, digitare pow(x,y) per calcolare xyx^y.

exp(x)

Esponenziale, digitare exp(x) per calcolare exe^x.

expm1(x)

Esponenziale meno 1, digitare expm1(x) per calcolare ex1e^x-1.

log(x)

Logaritmo naturale: log(x) calcola ln(x)ln(x).

log2(x)

Logaritmo di base 2, digitare log2(x) per calcolare ln(x)ln(2)\frac{ln(x)}{ln(2)}.

log10(x)

Logaritmo di base 10, digitare log10(x) per calcolare ln(x)ln(10)=log(x)\frac{ln(x)}{ln(10)}=log(x).

cosh(x)

Coseno iperbolico.

sinh(x)

Seno iperbolico.

tanh(x)

Tangente iperbolica.

acosh(x)

Coseno iperbolico inverso.

asinh(x)

Seno iperbolico inverso.

atanh(x)

Tangente iperbolica inversa.

cos(x)

Coseno in radianti.

sin(x)

Seno in radianti.

tan(x)

Tangente in radianti.

acos(x)

Arcocoseno in radianti.

asin(x)

Arcoseno in radianti.

atan(x)

Arcotangente in radianti.

atan2(y,x)

Digitare atan2(y,x) per calcolare atan(yx)atan(\frac{y}{x}).

ceil(x)

Digitare ceil(x) per calcolare xx.

copysign(x,y)

Restituisce x con il segno di y, per esempio copysign(3,-1)=-3.

fabs(x)

Valore assoluto, fabs(x) restituisce x\mid x\mid.

floor(x)

Numero intero inferiore, digitare floor(x) per calcolare x\lfloor x \rfloor.

fmod(a,b)

fmod(a,b) restituisce aa modulo bb.

frexp(x)

Mantissa ed esponente: per esempio, frexp(10) restituisce (0.625,4) perché 10=0.625×2410=0.625\times2^4.

ldexp(x,i)

Inversione di frexp(x), cioè x×2ix\times2^i.

modf(x)

Parti frazionarie ed intere, per esempio modf(5.1)=(0.1,5.0).

isfinite(x)

Controlla se x è finito.

isinf(x)

Controlla se x è infinito.

isnan(x)

Controlla se x è NaN.

trunc(x)

Restituisce x troncato ad un numero intero, per esempio trunc(6.7)=6.

radians(x)

Converte x da gradi a radianti, per esempio radians(180) restituisce 3.141592653589793.

degrees(x)

Converte x da radianti a gradi, per esempio degrees(pi) restituisce 180.

erf(x)

Funzione di errore, erf(x)=2π0xet2dterf(x) = \frac{2}{\pi}\int_0^x e^{-t^2} \, \mathrm dt.

erfc(x)

Funzione di errore complementare, erfc(x)=1erf(x)erfc(x) = 1-erf(x).

gamma(x)

Funzione gamma.

lgamma(x)

Log-gamma, lgamma(x)=ln(gamma(x))lgamma(x)=ln(gamma(x)).

Il modulo cmath

Ecco la descrizione completa del modulo cmath. Potete ottenere questo elenco sulla vostra calcolatrice premendo toolbox e andando su Moduli poi cmath.

e

La costante e=2.718281828459045.

pi

La costante pi=3.141592653589793.

phase(z)

Fase di z in radianti, per esempio phase(1j)=1.570796326794897.

polar(z)

Conversione di un numero complesso in coordinate polari: polar(1j) restituisce (1.0, 1.570796326794897).

rect(z)

Conversione di un numero complesso in coordinate algebriche: rect(1,pi/4) restituisce 0.70710+0.70710j.

exp(x)

La funzione esponenziale, per esempio exp(i*pi/4) restituisce 0.70710+0.70710j.

log(x)

Logaritmo naturale, che restituisce un risultato con parte immaginaria, per esempio log(1j) restituisce 1.570796326794897j.

sqrt(x)

Radice quadrata, che restituisce un risultato con parte immaginaria.

cos(x)

Coseno, che restituisce un risultato con parte immaginaria.

sin(x)

Seno, che restituisce un risultato con parte immaginaria.

Il modulo matplotlib.pyplot

Ecco la descrizione completa del modulo matplotlib.pyplot. Potete ottenere questo elenco sulla vostra calcolatrice premendo toolbox e andando su Moduli poi random.

arrow(x,y,dx,dy)

Disegna una freccia dal punto (x,y) al punto (x+dx,y+dy). È possibile inserire un argomento opzionale per regolare la dimensione della freccia scrivendo, per esempio head_width=0.1. Un altro argomento opzionale può essere usato per scegliere il colore della freccia, per esempio, scrivendo color="red".

axis((xmin,xmax,ymin,ymax))

Imposta la finestra di visualizzazione su (xmin,xmax,ymin,ymax). Il comando axis()restituisce una tupla contenente gli estremi degli assi. Inoltre, axis("off") o axis(False) nasconde gli assi, mentre axis("on") o axis(True) li visualizza. Per resettare gli assi con la regolazione automatica, è possibile utilizzare il comando axis("auto").

bar(x,height,bin_width,bottom)

Disegna un grafico a barre a partire dai valori della lista x e dai numeri della lista height. Gli ultimi due argomenti sono facoltativi. L’argomento bin_width permette di impostare la larghezza delle barre, che è predefinita a 0.8. L’argomento bottom è la lista delle ordinate iniziali delle barre, impostata di default a 0. È possibile inserire un argomento opzionale per scegliere il colore delle barre scrivendo ad esempio color="red".

grid()

Mostra la griglia se era nascosta o nasconde la griglia se era visualizzata. I comandi grid(True) e grid(False) mostrano o nascondono rispettivamente la griglia.

hist(x,bins)

Disegna un istogramma con valori della lista x. Il secondo argomento è facoltativo. Se il secondo argomento è un intero, imposta il numero di rettangoli che compongono l’istogramma. Questo numero è 10 per impostazione predefinita. Se il secondo argomento è una lista, permette di scegliere le classi dell’istogramma. Per esempio, se bin è [0,1,3,5], le classi saranno: [0,1[, [1,3[ e [3,5]. È possibile inserire un argomento opzionale per scegliere il colore del grafico scrivendo, ad esempio, color="red".

plot(x,y,color)

Disegna la lista y in funzione della lista x. I punti (x,y) sono collegati da segmenti. Se viene fornita una sola lista y, essa viene tracciata rispetto alla lista [0,1,2,3...]. L’argomento “color” è facoltativo. Permette di scegliere il colore del grafico.

scatter(x,y)

Disegna la nuvola di punti di coordinate (x,y). Gli argomenti della funzione possono essere numeri o liste della stessa lunghezza. È possibile inserire un argomento opzionale per scegliere il colore del grafico scrivendo ad esempio color="red".

show()

Mostra la figura.

text(x,y,"text")

Visualizza il testo impostato come argomento alle coordinate (x,y).

Il modulo turtle

Ecco la descrizione completa del modulo turtle.Potete ottenere questo elenco sulla vostra calcolatrice premendo toolbox e andando su Moduli poi turtle.

forward(x)

Avanza di x pixel.

backward(x)

Sposta all’indietro di x pixel.

right(a)

Gira a destra di a gradi.

left(a)

Gira a sinistra di a gradi.

goto(x,y)

Sposta alle coordinate (x,y).

setheading(a)

Imposta l’orientamento per a gradi.

circle(r)

Cerchio di raggio r pixels.

speed(x)

Velocità di disegno (x tra 0 e 10).

position()

Restituisce la posizione corrente (x,y) della tartaruga.

heading()

Restituisce l’orientamento a attuale della tartaruga.

pendown()

Abbassa la penna.

penup()

Solleva la penna.

pensize(x)

Dimensione del tratto in pixel.

write("text")

Scrive il testo posto come argomento nella posizione della tartaruga.

isdown()

Restituisce Vero se la penna è abbassata.

reset()

Azzera il disegno.

showturtle()

Mostra la tartaruga.

hideturtle()

Nasconde la tartaruga.

color('c') o color(r,g,b)

Imposta il colore della penna.

colormode(x)

colormode(1.0) cambia il modo colore a 1.0 e i colori devono poi essere definiti da tuple del tipo (0.5,1.0,0.0.5) mentre colormode(255) cambia il modo colore a 255 e i colori sono poi definiti da tuple del tipo (128,255,128). La modalità colore predefinita è 255.

blue

Colore blu.

red

Colore rosso.

green

Colore verde.

yellow

Colore giallo.

brown

Colore marrone.

black

Colore nero.

white

Colore bianco.

pink

Colore rosa.

orange

Colore arancione.

purple

Colore viola.

grey

Colore grigio.

Il modulo random

Ecco la descrizione completa del modulo random. Potete ottenere questo elenco sulla vostra calcolatrice premendo toolbox e andando su Moduli e poi su random.

getrandbits(k)

Genera un numero casuale su “k” bit.

seed(x)

Inizializza il generatore casuale utilizzando x come seme.

randrange(start,stop)

Numero casuale nella lista range(start,stop).

randint(a,b)

Genera un numero intero casuale in [a,b].

choice(list)

Numero casuale nell’elenco specificato come argomento.

random()

Genera un numero decimale casuale in [0,1[.

uniform(a,b)

Genera un numero decimale casuale in [a,b[.

Il modulo kandinsky

Ecco la descrizione completa del modulo kandinsky. Potete ottenere questo elenco sulla vostra calcolatrice premendo toolbox e andando su Moduli poi kandinsky.

color(r,g,b)

Definisce il colore dai valori di r,g,b. Si può anche semplicemente usare una tupla per definire un colore: (r,g,b).

get_pixel(x,y)

Restituisce il colore del pixel x,y come tupla (r,g,b).

set_pixel(x,y,color)

Imposta il pixel x,y con il colore color.

draw_string(text,x,y,[color1],[color2])

Visualizza il textdal pixel x,y. Gli argomenti color1 (colore del testo) e color2 (colore di sfondo) sono opzionali.

fill_rect(x,y,width,height,color)

Riempie un rettangolo di larghezza width e altezza height con il colore color nel punto delle coordinate x e y.

Il modulo ion

Ecco la descrizione completa del modulo ion. Potete ottenere questa lista nella vostra calcolatrice premendo toolbox e andando su Moduli poi su ion.

keydown(k)

Restituisce Vero se viene premuto il tasto k come argomento e Falso altrimenti.

Le altre voci di questo menù indicano la sintassi utilizzata per identificare i tasti della tastiera.

Il modulo time

Ecco la descrizione completa del modulo time. Potete ottenere questo elenco sulla vostra calcolatrice premendo toolbox e andando su Moduli poi su time.

monotonic()

Restituisce il valore dell’orologio al momento in cui la funzione viene chiamata.

sleep(t)

Sospende l’esecuzione per un tempo pari a t secondi.

Toolbox e tasto var

Il tasto var

Nell’editor di script, il menù var elenca i suggerimenti di autocompletamento disponibili.

Nella console d’esecuzione, il menù var elenca tutte le funzioni definite negli script importati (che non contengono errori) e le variabili globali.

Il tasto Toolbox

Il menù del tasto toolbox contiene quattro sezioni per una più rapida modifica dei vostri script.

Loop e test

Contiene istruzioni per i cicli for e while oltre che per i test if.

Moduli

Contiene le funzioni disponibili nei moduli math, cmath, matplotlib.pyplot, turtle, random, kandinsky, ion e time.

Contiene le funzioni che possono essere utilizzate in Python, specialmente quelle dei moduli, ma anche funzioni come print() e input(). È possibile una ricerca alfabetica con le lettere della tastiera.

Funzioni

Contiene le istruzioni per definire una funzione: def function(argument): e return.