Scarica Python: cos'è, come funziona ed esercizi e più Slide in PDF di Informatica solo su Docsity!
Python
Python perché:
• Qualità del software: facile da leggere
• Produttività di sviluppo: il codice ha 1/3 di righe in
meno rispetto ad uno stesso codice in C++ o Java
• Portabilità: può essere usato su tutte le più
importanti piattaforme
• Librerie di base
• Integrazione di componenti: comunica con i
componenti di altre applicazioni
• Svantaggi: può non essere sempre così veloce in fase
di escuzione come C o C++
• Open source
Installare python
• https://www.python.org/downloads/
• Per windows 3.7.
• IDE: IDLE di python, pycharm
Primo programma (è case-sensitive)
import sys #carica un modulo della libreria
print(sys.platform)
print (2**100) #2 elevato alla 100
x=‘Spam!’
print(x*8) #concatena una stringa
#commento
"""
This is a comment
written in
more than just one line
"""
print("Hello, World!")
Le variabili
• Le variabili non richiedono la dichiarazione
x = 5
y = "John“
print(x)
print(y)
x, y, z = "Orange", "Banana", "Cherry“
x = y = z = "Orange"
Operazioni su interi, virgola mobile, complessi
M+M → somma (interi, float, complessi)
M*M → prodotto (interi, float, complessi)
M/M → divisione con risultato float, o complesso
M//M → quoziente intero
M%M → modulo (resto della divisione intera, solo tra interi)
M**M → elevamento a potenza (interi, float, complessi)
Operazioni con le stringhe
Rappresentazione:
M = "Prova" I N = "casa"
Operazioni:
M+N → concatena la stringa M ed N (es. Provacasa)
M*3 → concatena 3 volte la stringa M (es. ProvaProvaProva)
len(M) → restituisce la lunghezza di M
M[0], ··· M[len(M)-1] → restituisce i singoli caratteri della stringa.
Che cosa stampa questo programma?
a = a + 5
print (a)
Traceback (most recent call last):
File "tracing.py", line 1, in
a = a + 5
NameError: name 'a' is not defined
Esercizio:
Scrivere un programma che scambia il valore di due variabili
(indipendentemente dal valore) (es. se inizialmente a = 7 e b = 20,
alla fine print(a,b) stamperà 20 7 )
Le funzioni
def funzione ( parametri ) :
istruzione
istruzione
istruzione
istruzione
return r i s u l t a t i
- Una funzione ha un nome
- Una funzione può avere o no dei parametri
(ma le parentesi servono sempre!)
- Una funzione ha un contenuto (il suo corpo).
- Il contenuto va “indentato”, cioè va spostato a
destra rispetto alla riga di definizione, per far
capire a Python che esso sta “dentro” la
funzione. Si possono usare quattro spazi
oppure un tab. Una funzione può restituire uno
o più risultati (o anche nessuno...)
- Proprio come in matematica, definisco la
funzione una volta sola (es. f (x)= x^2 )
def f (x) :
return x∗∗ 2
- Poi però posso usarla quante volte voglio (es. f
(3) vale 9, f (a) è uguale ad a^2 , eccetera)...
Nella shell di Python:
>>> f(3)
Importare moduli
Comando per richiamare funzioni implementate in
un file già scritto e salvato in precedenza (da noi o
da altri). Esempi di moduli già presenti in Python
sono:
math:
sono implementate funzioni matematiche ad
esempio: sin(x), cos(x), sqrt(x), ...
sono definite le costanti e (numero di Nepero), pi
random:
sono implementate alcune funzioni per la
generazione di numeri pseudocasuali, es:
randint(a,b)
Esercizi
1.Cosa fa questa funzione? Aggiungere il commento di spiegazione Rinominare la funzione con un nome significativo Provare ad eseguire il programma. Che succede?
import math def funzione (a , b) : c = a∗∗2+b∗∗ 2 d = math. sqrt (c) return d
- Scrivere una funzione secondiInOreMinSec che prende come parametro un intero non negativo che rappresenta i secondi e restituisce a quante ore, minuti, secondi corrispondono.
- Scrivere una funzione che non ha nessun parametro, non restituisce nulla, ma stampa a video il valore (approssimato) di √e (radice quadrata del numero di Nepero).
- Sia C il capitale iniziale di un investimento. Sia r il tasso di interesse (espresso come decimale, es 0.03), sia n il numero di volte che gli interessi vengono calcolati ogni anno e sia t il numero di anni. Il capitale finale M si calcola allora come: M = C(1 + r /n)nt^ Scrivere una funzione che ha come parametri C, r, n, t e restituisce il valore di M, ma non stampa nulla. Nello stesso file scrivere poi un esempio che, usando la funzione, stampa: Capitale finale per investimento di 10.000, calcolo mensile, tasso 8%, per 2 anni:
Esercizi
- Modificare la funzione sconto di modo che restituisca: “Gratis”, se l‟età è minore di 6 “Sconto bambini” se l‟età è minore o uguale a 12 “Biglietto intero” se è compresa tra 12 e 60 “Sconto pensionati” se l‟età è maggiore o uguale a 60 “Gratis” se l‟età è maggiore di 70 Ricordarsi di testare i casi limite!
- Scrivere una funzione che prende come parametri i coefficienti a e b di un‟equazione di primo grado (ax + b = 0) e restituisce il valore di x che la rende un‟identità (cioè la risolve per x). Nel caso in cui sia indeterminata oppure impossibile, la funzione stampa un opportuno messaggio di errore e poi restituisce None.
Input da tastiera
= input (” stringa descrittiva ”)
nome=input(„‟Come ti chiami?‟‟)