Bonjour, pour un projet je dois aligner deux séquences entre elles mais il s'agit ici juste d'une facon esthetique de presenter l'alignement, et non pas d'un alignement local, global ou autre.

J'ai écrit ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
def pretty(file,idx,idy,s,x,y):
   f = open (file,"w")
   res = ""
   for x,y in zip (idx,idy):
      if x == y :
         res += x "/n" + "|" + "/n" y
      else:
         res += x "/n" + "-" + "/n" y
   f.close()
   return res
Ma logique étant la suivante :
on parcourt la sequence idx et la sequence idy en meme temps,
si le caractere x de idx == le caractere y de idy alors on ecrit :
x a la ligne, la barre, a la ligne y

si x est different de y on ecrit :
x a la ligne, tiret, y

par exemple :
idx = ATGA
idy = ACGT
pour le premier caractere de idx et idy on a x = A, y = A donc le resultat :
A
|
A
puis on continu et aboutit a :
ATGA
| - |-
ACGT

Mais ca ne fonctionne pas, je ne comprends pas pourquoi. Est ce ma logique qui est fausse ou alors mon code ?

Merci.