Scarica Formulario fondamenti di programmazione Python e più Formulari in PDF di Fondamenti di informatica solo su Docsity!
COMANDI PYTHON
message= “questa è una stringa“, scrivere un messaggio/frase print(message) , stampare messaggio/frase print(message.title()), stampa la prima lettera di ogni parola nella stringa in maiuscolo print(nome.upper()) , stampare il nome tutto in maiuscolo print(nome.lower()) , stampare il nome tutto in minuscolo f”{message_1} {message_2}”= full_message, creo una nuova stringa unica unendo due stringhe (posso aggiungere parole tra le virgolette fuori dalla parentesi per formulare un messaggio, dentro alle parentesi posso applicare metodi) \t , spazio bianco \n , termine riga(va a capo) lstrip() , elimina gli spazi bianchi a sinistra della stringa (left) rstrip() , elimina gli spazi bianchi a destra della stringa (right) strip() , elimina gli spazi bianchi, a destra e sinistra, della stringa message.count(‘cose da contare’) , numero di volte che una serie di caratteri comparse in una stringa str(nome_variabile), converte un valore numerico in una stringa input(), funzione che ci permette di inserire manualmente stringhe all’ interno di un programma esempio: message = input("Scrivi una frase e la ripeterò\n") print(message)
- definisce una variabile di nome message
- a questa variabile, viene assegnato il valore ottenuto tramite l'applicazione della funzione input
- quando l'interprete Python incontra l'istruzione input "si mette in pausa" ed attende l'inserimento di un valore da parte dell'utente
- la funzione input riceve come argomento una string, che viene visualizzata per fornire all'utente un'indicazione su cosa fare
- l'istruzione print stampa il valore della variabile message (ovvero il valore che è stato inserito tramite tastiera dall'utente) Int(), permette di indicare a Python che l'oggetto string è un numero intero Esempio: numero_string = '10' print(numero_string) numero_int = int(numero_string) print(numero_int) list_name=[“elenco ordinato”, “di oggetti” , “che inserisco nella lista”] list_name[k] , recupera l’elemento nella posizione k+1 (list_name[0], recupera l’ elemento in prima posizione) list_name[-1] , recupera l’elemento nell’ultima posizione len(list_name) , conta il numero di elementi di una lista modificare elemento della lista: lista=[“mia”,”teo”, “arturo”] lista[2]=”morgana” lista=[“mia”,”teo”, “morgana”] list_name.append(“elemento da aggiungere”) , aggiungere un elemento alla fine di una lista list_name.insert(posizione, elemento da aggiungere) , inserire oggetto in una lista nella posizione che si preferisce del list_name[posizione] , si rimuove l’elemento nella posizione indicata list_name.pop() , rimuove l’ultimo elemento e lo assegna ad una variabile ma ce lo restituisce con la nuova variabile list_name.pop(posizione), se voglio specificare la posizione list_name.remove(‘elemento da eliminare’) , cerca e rimuove l’elemento ‘’ ma solo una volta list_name.sort()/ list_name.sort(reverse=False) , ordinare gli elementi dal piu’ piccolo al piu’ grande(ordine alfabet.), in modo permanente list_name.sort(reverse=True) , per ordinare gli elementi dal piu’ grande al piu’ piccolo (ordine alfabetico), in modo permanente sorted(list_name) , modifica l’ordine degli elementi senza modificare l’ordine della lista originale (ordine alfabetico) list_name.reverse() , inverte gli elementi di una lista in modo permanente (ripetere il comando 2 volte per tornare alla lista originale) operazioni aritmetiche: output ‘10’ (numero effettivamente tipo string) 10 (vero oggetto numerico)
range(value_end), da 0 fino a value_end escluso incrementando di 1 range(value_start, value_end, step), parte da value_start fino a value_end escluso incrementando a step for value in range(1, 6): print(value) risultato: 1 2 3 4 5 squares= [] for value in range(1,11): square= value** squares.append(square) print(squares) risultato: [1, 4, 9, 16, 25, 36, 49, 64, 81, 100] CONDITIONAL TEST ==, per verificare l’ uguaglianza !=, per verificare la disuguaglianza
, per verificare se è maggiore =, per verificare se è maggiore o uguale <, per verificare se è minore <=, per verificare se è minore o uguale and, true se entrambe sono vere or, true se almeno una è vera car_brands = [‘audi’, ‘bmw’, ‘toyota’] for brand in car_brands : if brand == ‘bmw’: print(brand.upper())
risultato: BMW SE INVECE UNA CONDIZIONE NON E’ VERA E VOGLIAMO DARE ISTRUZIONI ALTERNATIVE IF condizione da verificare ==VERA : ESEGUI ISTRUZIONE 1 ESEGUI ISTRUZIONE 2 … ELSE: ESEGUI ISTRUZIONE ALTERNATIVA 1 ESEGUI ISTRUZIONE ALTERNATIVA 2 … SE ABBIAMO PIU’ DI UNA CONDIZIONE DA VERIFICARE IF condizione da verificare ==VERA : ESEGUI ISTRUZIONE 1. … ELIF condizione da verificare ==VERA: ESEGUI ISTRUZIONE 2. … ELSE: ESEGUI ALTERNATIVA ∙ WHILEcondizione da verificare : istruzione 1 istruzione 2 … esempio: friends = ['Jenna', 'Karl', 'Mario', 'Giada', 'Bo', 'Keita']
BLOCCO DI ISTRUZIONI DA ESEGUIRE
NEL CASO CHE LA CONDIZIONE SIA
TRUE
BLOCCO DI ISTRUZIONI ALTERNATIVE
DA ESEGUIRE NEL CASO LA
CONDIZIONE SIA FALSE
SE CONDIZIONE 1 E’ VERA SI ESEGUE BLOCCO
ISTRUZIONI 1
ALTRIMENTI, SE CONDIZIONE 2 E’ VERA SI ESEGUE
IL BLOCCO DI ISTRUZIONI 2
ALTRIMENTI, (COND 1 E COND 2 FALSE) SI ESEGUE
IL BLOCCO DI ISTRUZIONI ALTERNATIVE
output Jenna Karl Mario Giada Bo
metodo read() all'oggetto file_object Il metodo read() legge il contenuto del file e lo assegna alla variabile contents
- La terza riga stampa su schermo il valore della variabile contents. Nelle prime due righe è presentata una procedura standard molto usata per leggere da file ed ha il vantaggio di lasciare l'onere di decidere quando chiudere il file (CLOSE) all'interprete Python. Chiudere il file al termine della lettura è un'operazione cruciale e delicata, finalizzata soprattutto ad evitare di corrompere inavvertitamente il file e rovinare/perdere dati. SE voglio invece leggere il file riga per riga: filename = 'pi_digits.txt' with open(filename) as file_object: for line in file_object: print(line.rstrip())
- Nella prima riga, definisco una variabile di nome filename a cui assegno la string che specifica il nome del file 'pi_digits.txt'
- Nella seconda riga, segue l'operazione di gestione di apertura e chiusura file tramite with ... as e creazione di un oggetto file_object in cui è immagazzinato direttamente il contenuto del file
- Segue in terza riga un ciclo FOR che scansiona una per una le righe immagazzinate nell'oggetto file_object e in quarta riga esegue la stampa della linea Per una lettura di file più compatta che legge tutte le linee del file in una volta tramite il metodo readlines(): filename = 'pi_digits.txt' with open(filename) as file_object: lines = file_object.readlines() for line in lines: print(line.rstrip()) input
8979323846 2643383279 Output
8979323846 2643383279 Input
8979323846 2643383279 Output
8979323846 2643383279
- Dopo aver aperto il file e definito l'oggetto file_object, definiamo una list lines in cui immagazziniamo tutte le righe contenute nel file e recuperate tramite il metodo readlines()
- La lista contiene un elemento per ogni linea del file.
- Le linee sono stampate tramite metodo FOR (canonica stampa di elementi di una lista che abbiamo visto molte volte) Per elaborare il contenuto di un file esempio illustrativo: Dopo aver letto le 3 righe di cifre decimali dal file pi_digits.txt, desideriamo stampare la costante pi greco su una singola linea con tutte le 30 cifre decimali. File pi_digits.txt:
8979323846 2643383279 filename = 'pi_digits.txt' with open(filename) as file_object: lines = file_object.readlines() pi_string = ' ' for line in lines: pi_string += line.strip() print(pi_string) print(len(pi_string))
- Dopo aver letto le righe del file 'pi_digits.txt', immagazzinandole nella list lines, definisco una string vuota pi_string (le assegno il valore ' ', i.e. due singole virgolette senza spazi e caratteri in mezzo)
- Tramite un ciclo FOR, concateno le righe alla string pi_string (istruzione +=)
- Infine, stampo la string finale e la sua lunghezza (tramite metodo len() ) split(), applicato a line restituisce un oggetto list contenente un elemento per ogni parola separata da spazi contenuta nella riga. Output
32 words = line.split()