2013-04-15 7 views
1

donc je fais quelque chose de vraiment simple:division float en python avec des variables

shared = sum*2.0/(totalCNV(CNVs1,str(chrom))+totalCNV(CNVs2,str(chrom))) 

et je reçois ceci:

ZeroDivisionError: float division 

Alors maintenant, je veux juste faire une division à virgule flottante , mais je ne sais pas comment faire ça. Puis-je simplement convertir toutes les variables en virgule flottante? Aucune suggestion? À votre santé!

+2

Vous faites déjà une division en virgule flottante. L'erreur indique que vous divisez par '0'. – halex

+0

vous pouvez utiliser float (entier) pour convertir en float, mais cela ne vous aidera pas si vous faites la division par zéro. – theAlse

Répondre

2

L'erreur que vous obtenez implique que

(totalCNV(CNVs1,str(chrom))+totalCNV(CNVs2,str(chrom))) 

évalue à zéro, donc quand vous essayez de faire une division avec qui comme dénominateur, vous êtes division par zéro.

Si cette erreur est inattendue, il y a des chances qu'il y ait un problème plus tôt dans votre code.