Python: Esercizi svolti per bioinformatica

Cerca nel sito

Altri risultati..

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors

Cerca nelle Categorie

bioinformatica

ESERCIZIO 1


Creare due tuple che rappresentino i due elenchi di nomi e cognomi descritti sotto:
nomi: Numa, Tullo, Anco
cognomi: Pompilio, Ostilio, Marzio
● Ottenere una lista in cui ogni elemento è un dizionario {‘nome’: nome, ‘cognome’: cognome}, che accoppia nomi e cognomi in base all’ordine.

SOLUZIONE

nomi = ('Numa','Tullo','Anco')
cognomi = ('Pompilio','Ostilio','Marzio')
l = []
for nome, cognome in zip(nomi,cognomi):
  l.append({'nome': nome, 'cognome': cognome})
print(l)
Output:
[{‘nome’: ‘Numa’, ‘cognome’: ‘Pompilio’}, {‘nome’: ‘Tullo’, ‘cognome’: ‘Ostilio’}, {‘nome’: ‘Anco’, ‘cognome’: ‘Marzio’}]
Una possibile alternativa:
l = [{'nome': nome, 'cognome': cognome} for nome, 
cognome in zip(nomi, cognomi)]
print(l)
Nota bene:

In Python, la funzione zip() serve ad aggregare in un unico iteratore che contiene un insieme di tuple con gli elementi di ogni iteratore che gli passiamo.

Sintassi

zip(*iterabili)

ESEMPIO:

x = [23, 12, 38, 10]
y = [1, 3, 6, 7]
z = [2, 10, 3, 4]
aggregato = zip(x, y, z)
""" converto l'iterabile in una lista """
aggregato = list(aggregato)
print(aggregato)
Output:
[(23, 1, 2), (12, 3, 10), (38, 6, 3), (10, 7, 4)]
ESERCIZIO 2
Creare un dizionario che contenga come chiavi ‘nome’ e ‘cognome’, inserendo i propri dati come valori
● Aggiungere ‘matricola’
● Aggiungere ‘esami’, provando ad immaginare che tipi di dato usare per rappresentare sia nome che voto degli esami
SOLUZIONE
d = {'nome':'Pinco','cognome':'Pallino'}
d['matricola'] = 258115
d['esami'] = [{'nome':'Bioinformatica','voto': 30},{'nome':'Analisi','voto': 18}]
d
Output:
{‘cognome’: ‘Pallino’,
‘esami’: [{‘nome’: ‘Bioinformatica’, ‘voto’: 30},
{‘nome’: ‘Analisi’, ‘voto’: 18}],
‘matricola’: 258115,
‘nome’: ‘Pinco’}
Una possibile alternativa:
d['esami'] = {'Bioinformatica': 30, 'Analisi': 18}
d
Output:
{‘cognome’: ‘Pallino’,
‘esami’: {‘Analisi’: 18, ‘Bioinformatica’: 30},
‘matricola’: 258115,
‘nome’: ‘Pinco’}
ESERCIZIO 3
Scrivere un programma che:
● prenda una stringa in input da tastiera, rappresentante un nucleotide (A,C,G,T)
● stampi a video il nucleotide complementare
Assicurarsi che il programma funzioni correttamente sia con input maiuscolo che minuscolo.
SOLUZIONE
nucleotide = input('Inserisci un nucleotide (A,C,G,T): ')
if nucleotide == 'A' or nucleotide == 'a':
  print ('T')
elif nucleotide == 'C' or nucleotide == 'c':
   print ('G')
elif nucleotide == 'G' or nucleotide == 'g':
  print ('C')
elif nucleotide == 'T' or nucleotide == 't':
  print ('A')
Output:
Inserisci un nucleotide (A,C,G,T): g
C
Una possibile alternativa:
nucleotide = nucleotide.capitalize()
Nota bene

Uso delle maiuscole nelle stringhe

La funzione upper() ci restituisce una stringa con tutti i caratteri maiuscoli.

Il seguente esempio di codice ci mostra come possiamo usare la funzione upper() per rendere maiuscola una stringa in Python.

string = "questa è una stringa"
uppercasestring = string.upper()
print(uppercasestring)
Output:
QUESTA È UNA STRINGA

La funzione upper() converte tutte le lettere in maiuscolo. Se vogliamo solo mettere in maiuscolo il primo carattere della stringa, dobbiamo usare la funzione capitalize().

string = "questa è una stringa"

uppercasestring = string.capitalize()

print(uppercasestring)

Output:

Questa è una stringa

 

Ti potrebbe interessare anche:  Python Taxicab 1729

ESERCIZIO 4

Calcolare la somma dei primi 500 numeri naturali (da 0 a 500 escluso)

SOLUZIONE

n = 0
for i in range(0,500):
  n += i
n
Output:
124750
Possibili alternative:
1)
sum(range(0,500))
2) usiamo Gauss:
(499*500)/2

ESERCIZIO 5

Data la stringa ‘abcdefghi’, scrivere un programma che analizzi la stringa e stampi a video:
Lettera 1: a
Lettera 2: b
…
E così via.
● Modificare poi il programma in modo da leggere la stringa da tastiera.

SOLUZIONE

for i, letter in enumerate('abcdefghi'):
 print ('Lettera %d: %s' % (i+1, letter))
s = input('Inserisci una stringa: ')
for i, letter in enumerate(s):
 print ('Lettera %d: %s' % (i+1, letter))
Output:
Lettera 1: a
Lettera 2: b
Lettera 3: c
Lettera 4: d
Lettera 5: e
Lettera 6: f
Lettera 7: g
Lettera 8: h
Lettera 9: i
Inserisci una stringa: matematica
Lettera 1: m
Lettera 2: a
Lettera 3: t
Lettera 4: e
Lettera 5: m
Lettera 6: a
Lettera 7: t
Lettera 8: i
Lettera 9: c
Lettera 10: a
ESERCIZIO 6
Scrivere un programma che stampi la lunghezza delle stringhe fornite dall’utente, finchè l’utente non inserisce la stringa ‘exit’
SOLUZIONE
while True:
 line = input('Inserisci una stringa: ')
 if line == 'exit':
  break
 print (len(line))
Output:
Inserisci una stringa: bioinformatica
14
Inserisci una stringa: lato
4
Inserisci una stringa: area
4
Inserisci una stringa: exit

 

(275)

PubblicitàPubblicità