Op 10-03-13 09:57, Vincent Balmori schreef:
I am trying to use a __str__ method to display the values of attribute mood = self.hunger + self. boredom.
When I try to execute I get this error:

Traceback (most recent call last):
File "C:/Users/Vincent/Documents/Programming Tutorials/Python Programming for the Absolute Beginner - Project Files/source/chapter08/critter_caretaker_vpb3.py", line 105, in <module>
    main()
File "C:/Users/Vincent/Documents/Programming Tutorials/Python Programming for the Absolute Beginner - Project Files/source/chapter08/critter_caretaker_vpb3.py", line 99, in main
    print(crit)
TypeError: __str__ returned non-string (type int)
Then return a str instead of int.



This is the code:


# Critter Caretaker
# A virtual pet to care for

import random

class Critter(object):

    """A virtual pet"""
    def __init__(self, name, hunger = 0, boredom = 0):
self.name = name
self.hunger = hunger
self.boredom = boredom

    def __pass_time(self):
self.hunger += 1
self.boredom += 1

    def __str__(self):
        mood = self.boredom + self.hunger
        return mood

Change to:
        return str(mood)

Cheers,
Timo
_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to