J'ai le code suivant que je veux exécuter:
Traceback (most recent call last):
File "main.py", line 34, in <module>
a.numToLoc('9')
File "main.py", line 30, in numToLoc
num = int(math.log2(num))
AttributeError: 'module' object has no attribute 'log2'
3 Réponses :
Dans ces versions précédentes, vous pouvez utiliser P> math.log2 code> a été introduit dans Python 3.3 . Vous utilisez probablement une version antérieure. math.log(num, 2)
Comme déjà suggéré soit utiliser Python3.3 ou plus
ou alors
Utilisez Une autre légère modification est requise. p> Veuillez changer P> à p> elez cette erreur se produit. p> math.log (num, 2) code> A.Somenum ('9 ') code> p>
Vous avez un fichier appelé Lorsque vous Voir la documentation de modules ou pour Le math.py code> dans le même répertoire que le code que vous essayez d'exécuter. Supprimez ou renommez-le. P>
Importer Math CODE>, Python traverse les répertoires dans sys.path code> et importe le premier fichier appelé math.py code> (ou un répertoire appelé math code> avec un __ init __. py code> fichier intérieur) qu'il voit. La première entrée de sys.path code> est le répertoire actuel, de sorte qu'il voit votre math.py code> premier. P>
Importation code> Déclaration . p>
Quelle version de Python utilisez-vous?
math.log2 () code> a été ajouté à Python 3.3; Vous utilisez apparemment une version plus ancienne. Essayezmath.log (num, 2) code> à la place.@Medwin j'utilise 3x
quel 3x. ils ne sont pas tous pareils. theres 3.0 à 3.7
@Gammer Vous passez également une chaîne à
Somenum () Code>. Je pense que vous voulez passer un entier à la place:a.somenum (9) code>Quelle version exacte de Python utilisez-vous? 3.3, 3.6 ...?