43

Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

  • Upload
    vubao

  • View
    219

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Programmazione in Python per labioinformaticaUniversity of Verona

Page 2: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Sommario

Presentazione Corso

Python: concetti base

tipi primitivi e variabilistringhe e operatori notevolieseguire codice python

Page 3: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Presentazion del corso

Page 4: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Docente

Contatti

Alessandro Farinelli

Dipartimento di InformaticaCa Vignal 1 - Primo piano - Stanza 1.87Tel. 0458027072 e-mail [email protected]

Ricevimento:

Mercoledi' 16:00 � 18:00appuntamento tramite e-mail in altri orari

Page 5: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Corso

Descrizione del Corso

dal 5 Aprile al 13 Maggio

24 ore (tutte in lab.)

12 lezioni, 2 ore ciascuna

Martedi' 17:30 � 19:30 Lab DeltaVenerdi' 11:30 � 13:30 Lab Alpha

frequenza non obbligatoria

Page 6: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Esame

Modalita' Esame

Esame senza voto (passato o no)

Progetto di programmazione da svolgere durante il corso(o a casa) + test del codice in lab

Page 7: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Pre-requisiti

Conoscenze di base

Esperienza di programmazione in Java (o linguaggi di altolivello simili)

Per laureandi triennali, aver verbalizzato corso base diProgrammazione

La conoscenza di processi biologici può aiutare ma non ènecessaria

Page 8: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Programma

Programma del corso

Concetti di base per Python

Strutture dati

Funzioni e moduli

Operazioni I/O

Biopython (utilizzo basilare)

Page 9: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Materiale per il corso

materiale per il corso

Slides

disponibili su sito del corso

Libri (non indispensabili ma suggeriti)

Learning Python, Mark LutzThink Python, Allen B. Downey (Available online)

Page 10: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Risorse utili

Risorse online

sito web u�ciale per Python

tutorial interattivo per imparare Python

Python for Genomic Data Science (coursera)

Thanks!

Questo corso prende ispirazione dal corso Python for GenomicData Science tenuto da Mihaela Pertea e Steven Salzberg, JohnHopkins University.

Page 11: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Accesso ai �le durante il corso

Accesso ai �le

Sito del corso

code

Copiare i �le in locale per modi�carli

Page 12: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Cosa impararete

Alla �ne del corso dovreste

conoscere le basi di Python

essere in grado di progettare, scrivere ed eseguire funzioni escript Python

essere in grado di risolvere problemi di programmazione dibase in Python (orientato verso la Bioinformatica)

Page 13: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Perchè Python

Cosa pensa la maggior parte delle persone circa Python

molto facile da leggere (chiaro)

non è retro'compatibile ⇒ pulito

conciso (non si deve scrivere molto...)

spesso de�nito come pseudocodice eseguibile

incremento notevole della produttività

tutti usano Python

Page 14: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Cosa è Python ?

Python... in breve

linguaggio di programmazione molto potente

potente: tante librerie specializzate

ottimo trade-o� tra semplicità ed e�cienza

strutture dati e�cienti ma e�caci, orientato agli oggetti...ma non troppo!

interpretato

compilato: codice sorgente → linguaggio macchina →esecuzioneinterpretato: codice sorgente → eseguito direttamente (piùlento, ma molto utile per testing)

Page 15: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Una breve storia di Python

La storia di Python

progettato e sviluppato negli inizi del 1990 da Guido vanRossum (National Research Institute for Mathematics andComputer Science, The Netherland)

varie release:

versione 1.0 1994versione 2.0 2000versione 3.0 2008

Versione 3.0 cambio netto e non retro-compatibile. Noiutilizzeremo la Versione 3

Page 16: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Da dove posso scaricare Python ?

Sito web u�ciale

Repository u�ciale per codice, releases, documentazione etc.http://www.python.org/download

Page 17: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Come eseguire l'interprete

eseguire l'interprete di Python

Da una console (e.g., terminal in unix) digitare python

Usare python3.x per la versione 3 (consiglio in unix, usare tabdopo aver scritto python per veri�care le opzioni).

Page 18: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Interagire con l'interprete

Il famoso Hello world!

Page 19: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Fare semplici calcoli in Python

Usare l'interprete come una calcolatrice

Page 20: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Tipi e numeri

I numeri possono essere di vari tipi

Page 21: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Stringhe I

Strings

le stringhe possono essere de�nite con ' o � (in maniera deltutto indi�erente)

l'uso di ' come carattere nella stringa può essererecuperato usando � oppure \

Page 22: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Stringhe II

Strings

posso de�nire stringhe su più linee usando

""" <sequenza di caratteri> """

il carattere \n indica il return

esistono altri escape characters come \t per TAB o \\ perBACKSLASH

Page 23: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Stampare Stringhe

la funzione print()

print() stampa le stringhe con un formato user friendly.

si possono usare degli operatori (formatting operator) perstampare in maniera piu' semplice e strutturata.

Page 24: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Operatori per le stringhe

manipolare stringhe

s1+ s2 concatena stringhe s1 ed s2

s1 ∗ v ripete s1 v volte

s1 in s2 appartenenza (vero se s1 è una sottostringa di s2)

s1 not in s2 non appartenenza (vero se s1 non è unasottostringa di s2).

Page 25: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Variabili

Contenitori dei dati

vengono assegnate con il simbolo =

devono essere de�nite prima di essere usate

NON si speci�ca il tipo (int, �oat, str, etc.)

Page 26: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Nomi per le variabili

Regole per i nomi

i nomi delle variabili sono case sensitive

i nomi delle varibili possono essere formati solo da lettere,numeri (ma non il primo carattere), il simbolo _(underscore)

Page 27: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Manipolare variabili (Stringhe)

Operatori per stringhe

str[i] indicizzazione: ritorna il carattere nella posizione i(partendo da 0)

str[i:j] slicing: ritorna la sottostringa di str che parte da i(incluso) ed arriva a j (escluso)

Page 28: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Alcune funzioni native (built-in)

la funzione len()

len(my_str) ritorna la lunghezza della stringa my_str

può essere applicata anche ad altri tipi (e.g., liste)

Esempi di altre funzioni native

print(), type()

help(len):

Page 29: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Esercizi su variabili e stringhe

Eserc 1

Q1 creare una stringa che contenga 5 volte la sottostringa'atg' e 2 volte la sottostringa 'cga';

Q2 concatenare 4 stringhe a scelta in una nuova stringa,stampare la lunghezza della stringa risultante.

Sol eserc-1.txt

Page 30: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Stringhe come oggetti

Stringhe come oggetti

le stringhe in Python sono oggetti (come in Java)

possiamo invocare dei metodi sulla speci�ca istanza

<nome-oggetto>.<nome-metodo>(<parametri>)

Page 31: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Stringhe funzioni notevoli

Funzioni utili per le stringhe

NOTA: l'oggetto di invocazione non viene modi�cato

Page 32: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Esercizi su variabili e stringhe

Eserc 2

Q1 data una stringa contenente i 4 caratteri a,t,c,g, calcolare estampare la percentuale di caratteri 'a' e 't' presenti nellastringa

Q2 creare una stringa che contenga esattamente il 25% dicaratteri at

Q3 date due stringhe s1 ed s2 qualsiasi, stampare True se s1 e'una sottostringa di s2 e false altrimenti.

Sol eserc-2.txt

Page 33: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Come risolvere un semplice problema in Python

calcolare la percentuale 'at' di una stringa che contiene solamentei caratteri: atcg (sia minuscoli che maiuscoli)

Operazioni richieste:

Page 34: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Come scrivere e lanciare un semplice script in Python

Scrivere uno script su �le

Lanciare lo script

Page 35: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Come eseguire un semplice script in Python

Rendere uno script eseguibile

Page 36: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Come commentare il codice python Python

Commentare il codice e' fondamentale

Page 37: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Esercizi su script

Eserc 3

Q1 scrivere uno script che date due stringhe s1 ed s2 qualsiasi,stampa le due stringhe e poi True se s1 e' una sottostringadi s2 e false altrimenti [Sol: eserc-3Q1.py].

Q2 scrivere uno script che data una stringa composta daicaratteri 1 e 0 stampa una stringa in cui tutti gli 0 sonodiventati 1 e viceversa (e.g., '10001' diventa '01110') [Sol:eserc-3Q2.py].

Page 38: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Input da tastiera

Come leggere dalla tastiera

la funzione input(...) legge una stringa �no al return dallatastiera

la stringa viene ritornata dalla funzione

Esempio

Page 39: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Conversioni di tipo

Convertire un tipo in un altro

la funzione input(...) ritorna sempre una stringa

possiamo usare la funzione int(...) per convertire unastringa in un numero

Esempio

Page 40: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Funzioni per convertire i tipi

funzioni per convertire i tipi

int(x), trasforma la stringa in x in un numero in base 10

int(x,base), trasforma la stringa x in un numero in basebase

�oat(x), trasforma la stringa x in un numero decimale

vedere sito python per tutte le funzioni built-in checomprendono quelle di conversione

Page 41: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Formattare l'output I

Uso della funzione print(...)

due modalita' principali: usando la concatenazione ousando l'operatore % (formatting o interpolation)

%5.3f = �oat con 5 cifre totali di cui 3 decimali

se usiamo l'operatore % allora per stampare il carattere %dobbiamo usare %%

se usiamo due volte il % dobbiamo speci�care due valorinelle parentesi tonde dopo il % �nale

Page 42: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Formattare l'output II

Usare print(...) con vari tipi di dato

Page 43: Programmazione in Python per la bioinformatica ...profs.sci.univr.it/~farinelli/courses/python/slides/basiPython.pdf · 24 ore (tutte in lab.) 12 lezioni, ... Esperienza di programmazione

Programmazionein Python

per la bioin-formatica

PResentazionedel Corso

Python: cosaè perchèstudiarlo

Python primipassi: numerie stringhe

Variabili

Esercizi

Eserc 4

Q1 scrivere uno script che chiede all'utente una stringa di dna(i.e., una stringa contenente solo i caratteri atcg) e stampal'indice della seconda occorrenza del carattere 'a' [aiuto:usare il metodo �nd(...), nota che �nd(x,i) ritorna l'indicedella prima occorrenza di x dall'indice i in poi] [Sol:eserc-4Q1.py].

Q2 scrivere uno script che chiede all'utente una stringa di dnae stampa l'indice dell'ultima occorrenza della sottosequenza'atg' [aiuto: usare il metodo r�nd(...)] [Sol: eserc-4Q2.py].

Q3 scrivere uno script che data una stringa composta daicaratteri 1 e 0 stampa il numero di occorrenze del carattere1 ed il numero di occorrenze del carattere 0 usando unasola chiamata alla funzione print(). [Sol: eserc-4Q3.py].