Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Programmazione Python: Nomi, Espressioni Booleane e NumPy - Prof. Avellone, Appunti di Elementi di Informatica

Appunti su Python presi nel 2022

Tipologia: Appunti

2021/2022

Caricato il 29/09/2023

pasquale-larocca
pasquale-larocca 🇮🇹

4.8

(5)

2 documenti

1 / 78

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Istruzione: comando che viene scritto
Programma: insieme di istruzioni
Pycharm: programmatore che permettono di tradurre i programmi
Istruzioni
#: permette di fare commenti
L’algoritmo sono l’insieme dei comandi da fare. Esempio di algoritmo:
Ora però devo tradurre in linguaggio
Guardiamo la terza riga, ora dobbiamo indicare che i dati si trovano in un file che poi il calcolatore andrà ad
elaborare, oppure se sono pochi, li posso direttamente digitare con la tastiera
Fp = open permette di
aprire un file
Print() permette di leggere e stampare un file
Vediamo questo comando
input indica un comando che può essere dato solo attraverso
la tastiera. Poi nella console andrò ad associare la t a un
valore assegnato con la tastiera, e avrò una stringa, ovvero
un dato che non può essere cancellato.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e

Anteprima parziale del testo

Scarica Programmazione Python: Nomi, Espressioni Booleane e NumPy - Prof. Avellone e più Appunti in PDF di Elementi di Informatica solo su Docsity!

Istruzione: comando che viene scritto Programma: insieme di istruzioni Pycharm: programmatore che permettono di tradurre i programmi Istruzioni #: permette di fare commenti L’algoritmo sono l’insieme dei comandi da fare. Esempio di algoritmo: Ora però devo tradurre in linguaggio Guardiamo la terza riga, ora dobbiamo indicare che i dati si trovano in un file che poi il calcolatore andrà ad elaborare, oppure se sono pochi, li posso direttamente digitare con la tastiera Fp = open  permette di aprire un file Print()  permette di leggere e stampare un file Vediamo questo comando input indica un comando che può essere dato solo attraverso la tastiera. Poi nella console andrò ad associare la t a un valore assegnato con la tastiera, e avrò una stringa, ovvero un dato che non può essere cancellato.

La quarta colonna ci dice come dobbiamo fare se dobbiamo prendere i dati da un altro file La quinta ci dice, attraverso la funzione print, di leggere e stampare i valori presenti in fp. La sesta ci dice di chiudere il file Per ordinare si fa cosi  S.sort() Cosi si usano il se e l’altrimenti, che diventano if e else. Successivamente ovviamente andrà tradotto il resto della frase Traduciamo la prima frase Cosi si indica la prima frase, len(S) rappresenta l’insieme degli elementi di S, % 2 vuol dire diviso 2, l’ultima parte vuol dire che è e dispari Cosi si traduce la seconda frase Questa è la terza frase

La seconda riga associa un nome a un’operazione La terza riga associa un nome ad altre associazioni Posso anche associare un anche un nome ad uan funzione N.B: Se scrivo x e X per il programma sono due nomi diversi Questa è una lista di valori Con i pallini si pongono delle interruzioni. Dovrò poi fare debug e poi mi darà le operazioni fino al primo pallino rosso, poi successivamente potrò fare esegui fino al prossimo pallino rosso ecc Debug  permette di leggere nella console le informazioni

Dopo aver fatto debug apparirà questa finestra sotto, che è ferma a prima del pallino. Se clicco sulla freccia ricurva di fianco a console partirà la riga dopo, e in questo caso mi dirà che x viene identificato come un numero intero che è 3 Lezione 8 marzo GENERAZIONE NUMERI Attraverso questo sito: https://docs.python.org/3/library/random.html è possibile eseguire delle istruzioni per generare numeri Import random  permette di importare dei comandi come random.choices Random.choices  comando che permette di fare generazioni random tra elementi. È formato da tre argomenti: il primo sono gli elementi, il secondo sono i pesi assegnati, e il terzo sono il numero di estrazioni In questo caso volevo generare delle generazioni random tra 3 elementi, A, B e C. Ho dapprima fatto import random per importare il comando, successivamente ho eseguito il comando dove ho dovuto mettere i 3 elementi, poi le loro probabilità di uscita, e poi le k estrazioni. Facendo il pallino e poi facendo debug

Float(input())  float permette di trasformare la stringa in un numero intero. Input permette di associare ad a un numero intero attraverso poi la console. Se avessi fatto solo input e avessi associato ad a e b due numeri, sarebbero stati stringhe, e sarebbe apparso a: ‘8’. Mettendo float (che in genere si usa per i numeri decimali) davanti li faccio diventare numeri Qui poi ho finito facendo il perimetro (ho cambiato i valori di a e b) LE LISTE La lista può essere fatta con una funzione attraverso una funzione, come la funzione random choices che abbiamo visto prima, oppure direttamente sulla macchina. Per fare una lista direttamente sulla macchina si fa attraverso le parentesi quadre, che non vengono usate solitamente nelle espressioni proprio perché indicano una lista. Oltre alla quadra devo ovviamente associarla a qualcosa, nel nostro caso l

Ad ogni elemento corrisponde una posizione. Nota bene: il primo elemento occupa la posizione zero. Qui possiamo vedere la lista l1, e sotto possiamo indicare attraverso delle lettere degli elementi della lista attraverso il comando l1 e le quadre. Vediamo nello specifico:

  • a= len(l1) mi dice il numero di elementi nella lista. Facendo debug alla variabile a sarà associata il numero 9
  • facendo l1. vedremo i comandi associati ad l1 che in genere modificano la lista (ad esempio l1.sort ordina la lista, pop rimuove un elemento, count ti dice quante volte un numero compare ecc)
  • 6 ) Per vedere se un numero è presente in l1, bisogna scrivere ad esempio -5 in l1, se c’è apparirà true, altrimenti false.7) Se scrivio x in l1 voglio dire “il valore associato alla variabile x è presente in l1?”
  • Posso inoltre prendere elementi della lista attraverso l1[]. Il numero che metto tra parentesi quadre mi dice qual il numero che occupa quella posizione. 8)Ad esempio l1[3] è associato il numero -5 (ricordiamo che si parte da zero) .9) Se scrivo l1 [x] voglio sapere che posizione sta occupando la variabile x. Ovviamente ciò avviene solo se ad x viene associato un numero che esiste nella lista. 10) Quando metto un numero negativo nelle quadre, voglio sapere qual è il valore che occupa quella posizione ma partendo dall’ultima, ad esempio l1[-2] mi dice la penultima.11) Infine posso prendere dei gruppi, ad esempio facendo l1[2:5] considero i numeri che occupano le posizioni che vanno dalla 2 alla 5 (5 escluso).

Guardare dal rigo 7 Introduciamo ora elif, e avremo cosi 3 gruppi di istruzioni. Il calcolatore valuterà la prima espressione booliano, se è vera elaborerà il primo gruppo di istruzioni, se è falsa andrà alla seconda espressione booliana, se è vera elaborerà il secondo gruppo gruppo di istruzioni, se è falsa andrà al terzo gruppo. Alcune nozioni per impartire comandi alle espressioni Booliane

Definendo x ed y, l’espressione Booliana mi dirà se tutti questi comandi sono veri o falsi != vuol dire diverso ESERCIZIO Ho impostato il problema con gli asterischi, definendo a, b e come numeri reali. L’esponenziale si scrive cosi nel linguaggio Ora devo sfruttare l’espressione booliana e dare istruzioni Ho definito l’espressione booliana

Ho fatto run ma non è uscito nulla perché devo prima definire i valori di a, b e c Premo run, definisco i valori e mi dà le due soluzioni. Ho cambiato i valori e le soluzioni sono ora coincidenti ALTRO ESERCIZIO Fare il minimo tra tre valori a,b e c Per prima cosa attribuisco ad a,b e c i comandi che siano tre numeri interi (prima erano reali, e avevo scritto float, ora scrivo int) Int(input)  si differenzia da float perché indica numeri interi anziché reali

Creo la struttura per individuare il minimo Stiamo dicendo che se a è minore di b e c allora il minore è a Altrimenti se b è minore di Questo è il comando per indicare il minore clicco su run e mi chiede di attribuire dei valori Questo è il risultato attribuendo questi valori Supponiamo che attribuisco tre valori uguali, con la nostra scrittura per individuare il minore andrà a fare le tre istruzioni, ma possiamo farlo con meno passaggi, mettendo al posto di minore e maggiore, minore uguale e maggiore uguale.

fp.readline  legge una riga del file fp, infatti x1 indica la lettura della prima riga, x2 la lettura della seconda riga. Il nostro scopo è ora mettere tutti i dati del file in una lista indico con l la lista, che deve essere riempita con la lista del file. Alla colonna tre ho scritto “per ogni riga del file che ho indicato con fp”, l.append  è un comando che indica aggiungi, ed l.append(r) è un comando che indica “aggiungi r (le righe) alla lista”. Essendo numeri interi, aggiungo int, quindi diventa l.append(int(r)). Facendo run mi usciranno i valori della lista LEZIONE 15 MARZO DEFINIRE LA SOMMA Partiamo da questo esercizio Definisco S, la cui collezione di numeri viene presa dal file dati.txt In questo modo indico che ogni valore di x in S viene sommato

C’è però un problema. Il programma non riconosce somma, è come se non sapesse da quale valore iniziare. Per risolvere questo problema, definisco la somma come 0 Mandiamo in esecuzione e ci esce il risultato. Nota bene: è necessario osservare se vi sono state modifiche alla lista durante il debug. Se cosi fosse, abbiamo sbagliato qualcosa DEFINIRE IL MASSIMO Altro esercizio, qui dobbiamo definire il linguaggio che ci permette di calcolare il numero massimo di S. Qual è il modo più veloce? N.B: ho dimenticato di mettere tra virgolette dati.txt Andrò a fare questo, ovvero:

Innanzitutto calcolo il massimo, che prima avevo trovato con un procedimento più lungo, ma posso anche farlo cosi Andrò a definire Questo è il linguaggio Range Parliamo ora di range. La funzione range() è chiamata funzione iterativa, perché restituisce una sequenza di numeri, a partire da 0 (per impostazione predefinita), e incrementa di 1 (per impostazione predefinita) e ferma prima di un numero stabilito. Come funziona? In questo esempio ho messo un solo argomento, che è 3. Questo definisce un range da 0 a 3

Qui definisco for k in range e scrivo print(k) per indicare che voglio leggere k. È come se stessi dicendo “per ogni k tra 0 e 3 escluso. Facendo run infatti mi leggerà i valori 0,1,2. Mettendo due argomenti, ad esempio (4,19), indico un range che va dalla posizione 4 (incluso) e 19 (escluso). Se invece scrivo len(S) sto indicando dalla posizione 4 di S fino all’ultima posizione di S. Se voglio indicare, ad esempio, il penultimo argomento di S, andrò a mettere len(S)- 1 Attraverso il terzo argomento, sto definendo lo step, ogni quante posizioni considero. Nel nostro esempio il risultato sarà 4,6,8,10 ecc Altro esercizio Immaginiamo che ci sia un investitore che decide di investire un certo capitale su un fondo e vogliamo vedere il valore iniziale e finale in base alla distribuzione. I dati da definire sono: Le due soglie indicano, la prima la soglia del fondo per la quale investo, la seconda la soglia del fondo per la quale disinvesto Il tempo indica i giorni, sono quindi 10mila giorni Guardiamo la distribzione, la prima parentesi quadra ci dice gli aumenti o le diminuizioni del valore del fondo, la seconda quadra le probabilità connesse