Je travaille sur un module d'extension Python, et un de mes petits scripts de test est en train de faire quelque chose d'étrange, à savoir .:Pourquoi ai-je une erreur TypeError en boucle?
x_max, y_max, z_max = m.size
for x in xrange(x_max):
for y in xrange(y_max):
for z in xrange(z_max):
#do my stuff
Ce qui ne fait aucun sens que la boucle arrive à la fin du premier ' z 'itération, puis lance un TypeError, indiquant qu' "un entier est requis". Si je mets un essai ... sauf TypeError et vérifie les types de x, y et z, ils reviennent tous comme < taper 'int'>.
Ai-je oublié quelque chose ici?
EDIT: Il semble que j'ai un problème quelque part dans mon code d'extension. Tirer ces lignes une par une a révélé le coupable. Je suspecte une erreur de comptage de référence. Merci pour les réponses.
Qu'est-ce que 'm.size'? – Seth
Est-ce que '# do my stuff' réattribue' z_max'? Bien que vous ne nous montriez pas correctement la traceback, il semble que le problème est avec l'une des variables '_max' - pas les trois seules lettres que vous avez vérifiées! -) –
pourquoi n'utilisez-vous pas' range () 'est la liste trop longue? – corn3lius