On Sat, Jun 25, 2011 at 9:18 AM, Vincent Balmori <vincentbalm...@yahoo.com> wrote: > > The question for this is to make a program that simulates a TV by creating it > as an object. The user should be able to to enter a channel and or raise a > volume. Make sure that the Channel Number and Volume stay within valid > ranges. Before I can even start correcting my code this error shows up. I > thought I had already created the "tv" instance. > http://old.nabble.com/file/p31925053/Television Television > > Traceback (most recent call last): > File > "/Users/vincentbalmori/Desktop/Python/py3e_source/chapter08/Television", > line 83, in <module> > main() > File > "/Users/vincentbalmori/Desktop/Python/py3e_source/chapter08/Television", > line 46, in main > print(Television(tv.display)) > NameError: global name 'tv' is not defined
The problem is exactly as stated. There is no tv instance - it doesn't exist. You can't call Television(tv.display) because there's simply nothing called tv, and therefore it will not have a display method. You're also calling the method incorrectly - if tv did exist, and it had the method display, what you've done there is refer to the method, and not call it. So, if you print it, you'd get something like <unbound method tv.display> >>> def a(): ... pass ... >>> something = a >>> print something <function a at 0x0000000001F82278> >>> This isn't what you want, so remember to include brackets. Instead, try - tv = Television() tv.display() Note how there's no print on the tv.display()? That's because inside Television.display, you've already told it to print, and told it to return nothing (therefore None, by default), for example - >>> def b(): ... print 'This is something' ... >>> print b() This is something None See how None is printed? Also, you should use better method functions - if you had called "vold" "volume_down" instead, there would be no need for your comment to explain what it is, and will result in less random guessing. HTH. _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor