Dlaczego ten skrypt drukuje obce „brak” na wyjściu
Napisałem prosty skrypt, który pomoże mi lepiej zrozumieć użycie klas. Generuje losową postać w grze. Zdefiniowałem obiekt, a następnie wywołałem funkcję na tym obiekcie, która wypisuje wygenerowany znak. Na końcu wydrukowanego bloku znajduje się obcy „Brak”, którego nie jestem pewien, skąd pochodzi ani dlaczego jest drukowany. Oto przykładowy wynik:
ted
Strength : 20
Dexterity : 17
Hit Points: 100
Aura : 100
Weapon :
Spell :
Item :
Element :
--------------------
None
W moim kodzie ostatnia liniaplayer.stats()
jestprint "-" * 20
który jest wyświetlany tuż nad „Brak”. Oto kod definiujący obiekt:
class Player(object):
def __init__(self, name):
self.name = name
self.strength = randint(15, 20)
self.dexterity = randint(15, 20)
self.hit_points = 100
self.aura = 100
self.weapon = " "
self.spell = " "
self.item = " "
self.element = " "
def stats(self):
print "\n"
print self.name
print "Strength : %d" % self.strength
print "Dexterity : %d" % self.dexterity
print "Hit Points: %d" % self.hit_points
print "Aura : %d" % self.aura
print "Weapon : %s" % self.weapon
print "Spell : %s" % self.spell
print "Item : %s" % self.item
print "Element : %s" % self.element
print "-" * 20
Obiekt jest następnie inicjowany za pomocą tego:
name = raw_input("Name your character: ")
player = Player(name)
print player.stats()
Pełny kod można odczytaćtutaj w Pastebin Jeśli to konieczne.