nigel a écrit :
> hi i have wrote an interactive programme,this is a small section of it.
> #This is my first programme writing in python
> s = raw_input ("hello what's your name? ")
> if s=='carmel':
> print "Ahh the boss's wife"
> if s=='melvyn':
> print "your the boss's dad"
> if s=='rebecca':
> print "you must be the wreath woman"
> if s=='gareth ':
> print "You must be the trucker"
> if s=='carol':
> print "you must be my boss's mom"
The problem with this code is that:
- it does a lots of useless tests (ie : even if the user enters
'carmel', all other names will be tested too).
- it doesn't handle the default case (any other name than the one you
test for)
A minimal amelioration would be to use if/elif/else:
s = raw_input ("hello what's your name? ")
if s == 'carmel':
print "Ahh the boss's wife"
elif s == 'melvyn':
print "your the boss's dad"
elif s == 'rebecca':
print "you must be the wreath woman"
elif s == 'gareth ':
print "You must be the trucker"
elif s=='carol':
print "you must be my boss's mom"
else: # default
print "I'm afraid I don't know you..."
Now this is a little better, but still not very pythonic. We have a nice
thing in Python named a dict (for 'dictionnary'). It stores pairs of
key:value - and FWIW, it's the central data structure in Python, so
you'll see them quite a lot. There very handy for this kind of use case:
greetings = {
'carmel' : "Ahh the boss's wife",
'melvyn' : "your the boss's dad",
'rebecca': "you must be the wreath woman",
'gareth ': "You must be the trucker",
'carol' : "you must be my boss's mom",
}
name = raw_input ("hello what's your name? ")
print greetings.get(name, "I'm afraid I don't know you...")
> What i was wandering is there a way i can get sound,
<sorry>
Now this is a sound question !-)
</sorry>
>i mean instead of getting
> it to just print text on my screen i would like my computer to say it.
This depends mostly on your computer and what's installed on it. And
this is not part of the standard lib AFAIK.
--
http://mail.python.org/mailman/listinfo/python-list