On 2014-08-31 22:02, Seymore4Head wrote:
import math
import random
import sys
ex='Hey buddy get away from the car'
newex = ex.split()
sentence=""
print (newex)
wait = input (" Wait")
def pigword(test):
for x in range(len(test)):
if test[x] in "AEIOUaeiou":
stem = test [x:]
prefix = test [:x]
pigword = stem + prefix + "ay"
print ("Stem ",stem)
print ("Prefix",prefix)
print (pigword)
break
return (pigword)
for x in range(len(newex)):
sentence = sentence + pigword(newex[x])+ " "
print (sentence)
wait = input (" Wait")
The program seems to work and it does work with everything I have
tried so far. The one exception is if you change "the" to "my" (in
the first line) the program crashes.
Traceback (most recent call last):
File "C:\Documents and
Settings\Administrator\Desktop\Functions\test.py", line 25, in
<module>
sentence = sentence + pigword(newex[x])+ " "
File "C:\Documents and
Settings\Administrator\Desktop\Functions\test.py", line 22, in pigword
return (pigword)
UnboundLocalError: local variable 'pigword' referenced before
assignment
'my' doesn't contain a vowel, therefore the condition of the 'if'
statement in 'pigword' is never true, therefore it never binds to the
name 'pigword'.
BTW, you have a function called 'pigword' that has a local name also
called 'pigword'. Try not to do that, because you could easily confuse
yourself.
--
https://mail.python.org/mailman/listinfo/python-list