'type' objet n'est pas itératif lors d'une itération de la liste dans la classe

Lors de l'utilisation de ce code:

import random

class result:
    list = ['a', 'b', 'c']

    def choicename(self):
        for i in list:
            if i == list[0]:
                result = random.randint(90, 100)
            else:
                result = random.randint(0, 10)

        print 'The %s result is %d' % (i, result)

if __name__ == '__main__':
    t = result()
    t.choicename()

J'obtiens une erreur:

  File "D:\Program\test\test\__init__.py", line 22, in <module>
    t.choicename()
  File "D:\Program\test\test\__init__.py", line 13, in choicename
    for i in list:
TypeError: 'type' object is not iterable

Pourquoi est-ce? list semble itératif pour moi.

  • list dans choicename se réfère à la list type. Si vous voulez result.list, c'est ce que vous aurez besoin d'utiliser.
  • Peut-être l'exemple PARFAIT de pourquoi vous devriez ne JAMAIS les utiliser list comme un nom pour une variable!!!
  • merci,j'ai déjà le faire ,maintenant, c'run ok!
InformationsquelleAutor Qing li | 2014-08-20