This could be an interesting error

Seymore4Head Seymore4Head at Hotmail.invalid
Mon Sep 1 00:42:24 CEST 2014


On Sun, 31 Aug 2014 22:38:12 +0100, Mark Lawrence
<breamoreboy at yahoo.co.uk> wrote:

>On 31/08/2014 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)):
>
>Please read up on how to use for loops as the above is usually a code smell.
>
>>          if test[x] in "AEIOUaeiou":
>>              stem = test [x:]
>>              prefix = test [:x]
Unnecessary brackets?
I tried deleting the brackets and that doesn't seem to work.  I tried
changing the brackets to parenthesizes and that didn't work.  Although
I would prefer brackets to parenthesizes as you don't need shift to
type them.

>>              pigword = stem + prefix + "ay"
>>              print ("Stem ",stem)
>>              print ("Prefix",prefix)
>>              print (pigword)
>>              break
>>      return (pigword)
>
>This is Python so please get rid of those unnecessary brackets.  Having 
>done that assume that you have an empty test so your loop never gets 
>entered, the local pigword never gets assigned before the return hence 
>your UnboundLocalError.
>
>>
>> for x in range(len(newex)):
>
>Ditto.
>
>>      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
>>>>>



More information about the Python-list mailing list