Hi there :)
A little tip upfront: In the future you might want to come up with a
more descriptive subject line. This will help readers decide early if
they can possibly help or not.
[EMAIL PROTECTED] wrote:
> def albumInfo(theBand):
> def Rush():
> return ['Rush', 'Fly By Night', 'Caress of Steel', '2112', 'A
> Farewell to Kings', 'Hemispheres']
>
> def Enchant():
> return ['A Blueprint of the World', 'Wounded', 'Time Lost']
>
> ...
>
Yuck! ;)
> The only problem with the code above though is that I don't know how to call
> it, especially since if the user is entering a string, how would I convert
> that string into a function name?
While this is relatively easy, it is *waaayyy* too complicated an
approach here, because . . .
> def albumInfo(theBand):
> if theBand == 'Rush':
> return ['Rush', 'Fly By Night', 'Caress of Steel', '2112', 'A
> Farewell to Kings', 'Hemispheres']
> elif theBand == 'Enchant':
> return ['A Blueprint of the World', 'Wounded', 'Time Lost']
> ...
>
. . . this is a lot more fitting for this problem.
You could also have used a dictionary here, but the above is better if
you have a lot of lists, because only the one you use is created (I
think . . .).
You might also want to consider preparing a textfile and reading it into
a list (via lines = open("somefile.txt").readlines()) and then work with
that so you don't have to hardcode it into the program. This however is
somewhat advanced (if you're just starting out), so don't sweat it.
> I'm not familiar with how 'classes' work yet (still reading through my 'Core
> Python' book) but was curious if using a 'class' would be better suited for
> something like this? Since the user could possibly choose from 100 or more
> choices, I'd like to come up with something that's efficient as well as easy
> to read in the code. If anyone has time I'd love to hear your thoughts.
>
Think of classes as "models of things and their behavior" (like an
animal, a car or a robot). What you want is a simple "request->answer"
style functionality, hence a function.
Hope that helps.
Happy coding :)
/W
--
http://mail.python.org/mailman/listinfo/python-list