No one else has caught another problem. I comment on it below:

On 2/20/2012 6:46 PM, Michael Lewis wrote:
Hi everyone,

I am having some trouble understanding how to use __name__== '__main__'. Can you please give me some insight? Also, to use this, it needs to be within a function? Do you typically just throw it in your very last function or create a separate function just for this? I at first put it outside and after all my functions but got the error below and then put it inside my last function and the program ran. (side note, I have an error in my return for MultiplyText that I am still trying to work out, so you can ignore that part).

Code:

'''homework 5_1'''

def MultiplyText(text, multiplier):
'''Recieve a S. For digits in S, multiply by multiplier and return updated S.'''
    for num in text:
return ''.join(str(int(num) * multiplier) if num.isdigit() else num for num in text)
This will fail, as multiplier is a string.


def GetUserInput():
'''Get S & multiplier. Test multiplier.isdigit(). Call MultiplyText(text, multiplier)'''
    while True:
        text = raw_input('Enter some text: ')
        multiplier = raw_input('Enter a multiplier: ')
        try:
            multiplier.isdigit()
multiplier.isdigit() returns True or False. It will not raise an exception!
            break
        except ValueError:
            continue
    new_text = MultiplyText(text, multiplier)
    return new_text

    if __name == '__main__':
        print GetUserInput()

To fix both problems replace
multiplier.isdigit()
with
multiplier = int(multiplier)

--
Bob Gailer
919-636-4239
Chapel Hill NC

_______________________________________________
Tutor maillist  -  Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor

Reply via email to