Programmazionein Python
per la bioin-formatica
Selezione
Cicli
Programmazione in Python per labioinformatica
University of Verona
Programmazionein Python
per la bioin-formatica
Selezione
Cicli
Sommario
Selezione (if)
Cicli (while � for)
Programmazionein Python
per la bioin-formatica
Selezione
Cicli
Cambiare il �usso di esecuzione di un programma
Programmazionein Python
per la bioin-formatica
Selezione
Cicli
Selezione Semplice
Selezione Semplice
in Python l'indentazione ha un signi�cato sintattico!
Programmazionein Python
per la bioin-formatica
Selezione
Cicli
Condizioni
Boolean Expression
la condizione nell'if e' una Boolean Expression
Boolean expression: espressione che vale true o false
Boolean expression: costruite con gli operatori di:
Comparazione (Comparison)Appartenenza (Membership)Identità (Identity)
Programmazionein Python
per la bioin-formatica
Selezione
Cicli
Comparazione
Operatori di comparazione
Programmazionein Python
per la bioin-formatica
Selezione
Cicli
Appartenenza
Operatori di appartenenza
Programmazionein Python
per la bioin-formatica
Selezione
Cicli
Identità
Operatori di identità
Programmazionein Python
per la bioin-formatica
Selezione
Cicli
Selezione a due vie
Selezione a due vie
Programmazionein Python
per la bioin-formatica
Selezione
Cicli
Selezione a due vie
Selezione a due vie
Programmazionein Python
per la bioin-formatica
Selezione
Cicli
Selezione ad n vie
Selezione ad n vie
Controlliamo varie condizioni in una sola struttura di selezioneelif: parola chiave per rappresentare else if
Programmazionein Python
per la bioin-formatica
Selezione
Cicli
Operatori Logici
Operatori Logici
and: vero se entrambe le cond. sono vere
or: vero se almeno una delle due cond. è vera
not: vero se la condizione è falsa
Programmazionein Python
per la bioin-formatica
Selezione
Cicli
Esercizi su Selezione
Eserc if
Q1 scrivere uno script che chieda all'utente una stringa di dna.La stringa viene considerata valida se contiene solocaratteri 'atcg'. Controllare se la stringa e' valida estampare un messaggio corrispondente. Scaricare emodi�care il �le eserc-if-Q1.py [Sol: eserc-if-Q1.sol]
Q2 scrivere uno script che prende in input un nucleotide estampa il nucleotide complementare (i.e., a:t,c:g,g:c,t:a).Se il carattere non e' un nucleotide stampa un messaggiodi errore. Scaricare e modi�care il �le eserc-if-Q2.py [Sol:eserc-if-Q2.sol]
Programmazionein Python
per la bioin-formatica
Selezione
Cicli
Il concetto di ciclo
Ripetere le istruzioni
Programmazionein Python
per la bioin-formatica
Selezione
Cicli
Ciclo while
Trovare gli indici di tutte le occorrenze di 'atg' in una stringa didna
Programmazionein Python
per la bioin-formatica
Selezione
Cicli
Ciclo for
Data una lista di stringhe ritornare il numero di occorrenze dellasottostringa 'atg' in ciascuna stringa
Programmazionein Python
per la bioin-formatica
Selezione
Cicli
La funzione range
Utilizzo della funzione range
Programmazionein Python
per la bioin-formatica
Selezione
Cicli
La funzione range esecuzione
Esecuzione
Programmazionein Python
per la bioin-formatica
Selezione
Cicli
La funzione range esempio
Stampare tutti gli amminoacidi non validi all'interno di una dataproteina
Programmazionein Python
per la bioin-formatica
Selezione
Cicli
Uscire dai cicli: break e else (per cicli!)
Decidere se una proteina è valida
break: esce dal ciclo che lo contiene
else: eseguito al termine del ciclo (e.g., quando lacondizione del while diventa falsa)
Programmazionein Python
per la bioin-formatica
Selezione
Cicli
Evitare una iterazione del ciclo: continue
Correggere una proteina togliendo i caratteri non validi
continue: passa alla prossima iterazione del ciclo che locontiene
Programmazionein Python
per la bioin-formatica
Selezione
Cicli
L'istruzione pass
pass: placeholder
pass: non esegue nessuna funzione, utile per rispettare lasintassi del linguaggio
spesso usato in fase prototipale del codice
Programmazionein Python
per la bioin-formatica
Selezione
Cicli
Cicli annidati
Posso annidare i cicli
Programmazionein Python
per la bioin-formatica
Selezione
Cicli
Esercizi su Cicli
Eserc loops
Q1 scrivere uno script che calcola un numero randomico (X) echiede all'utente di indovinarlo. Lo script prosegue �no ache l'utente non ha indovinato il numero o ha eseguito unnumero massimo di tentativi (e.g., 5). Ad ogni step loscript chiede un numero all'utente (N), se N e' uguale ad Xtermina e stampa un messaggio di successo. Altrimenticomunica all'utente se N e' maggiore o minore di X.eserc-loops-Q1.py [Sol: eserc-loops-Q1.sol]
Programmazionein Python
per la bioin-formatica
Selezione
Cicli
Esercizi su Cicli annidati
Eserc nloops
Q1 data una stringa stampare tutte le sottostringhe dellastringa data. Usare il ciclo for. Scaricare e modi�care il �leeserc-nloops-Q1.py [Sol: eserc-nloops-Q1.sol]
Q2 risolvere l'esercizio Q1 usando il ciclo while. Scaricare emodi�care il �le [Sol: eserc-nloops-Q2.sol]