Convert ADN en python

Soma1316 Messages postés 17 Date d'inscription   Statut Membre Dernière intervention   -  
 PierrotLeFou -

Bonjour,

Comment   Résoudre cette erreure svp

#Extraire le complément de la chaîne d'ADN 
def complementary_dna ( dna_str ) : 
complement = { ' A ' : ' T ' , ' T ' : ' A ' , ' G ' : ' C ' , ' c ' : ' G ' } 
dna_complement = [ ]
for base in dna_str :
 dna_complement.append ( complement [ base ] )
return ' '.join (dna_complement)

def encrypt ( file_path , Mk ) : 
blue , green , red , img1 = decompose_matrix ( file_path )
 blue_e , green_e , red_e = dna_encode ( blue , green , red ) 
blue_s , green_s , red_s = complementary_dna ( blue_e , green_e , red_e )
return img1


Error:
  File " c : \ Users \ acer \ projetdna \ encrypt.py " , line 335 , in encrypt 
blue_s , green_s , red_s = complementary_dna ( blue_e , green_e , red_e )
  TypeError: complement_dna() takes 1 positional argument but 3 were given 


Android / Chrome 105.0.0.0

A voir également:

3 réponses

jee pee Messages postés 41517 Date d'inscription   Statut Modérateur Dernière intervention   9 717
 

Bonjour,

C'est une erreur en ligne 12, complementary_dna() recoit un seul argument, pas 3.


0
blux Messages postés 27120 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 

Salut,

en ligne 2, tu déclares complementary_dna avec un seul argument en paramètre (dna_str) et en ligne 12, tu l'appelles en passant 3 paramètres, donc ça gueule !


0
PierrotLeFou
 

Je suppose que ça prendrait un join des trois variables pour faire une seule chaîne.
Et pourquoi tous ces calculs si on retourne seulement img1 qui est  évalué à la première ligne?

On ne voit pas les autres fonctions.

0