On 2014-08-31 22:02, Seymore4Head wrote:
import math import random import sysex='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
