[Tutor] Character Buffer Object Error
Michael Lewis
mjolewis at gmail.com
Thu Feb 9 23:59:07 CET 2012
On Thu, Feb 9, 2012 at 2:43 PM, bob gailer <bgailer at gmail.com> wrote:
> Always reply-all so a copy goes to the tutor list.
>
> On 2/8/2012 11:04 PM, Michael Lewis wrote:
>
> Thanks Bob,
>
> Thanks for what if you did not follow my suggestions?
>
I partially followed your suggestions by getting rid of str.replace(old,
new[, count]) and new_output = ' '.join(user_input). But I also wanted to
try to get this to work without simply copying your code.
>
> Your code is still pretty buggy.
>
I don't think I made my intentions clear. I don't wont to increment
each digit. I want to find each number (for example, if the str contains
436, I don't want to interpret that as 4, 3, 6 - I instead want to
interpret that as 436, which is why I created a list and then joined back
into a string afterwards.
>
> Please test it by running it, seeing that the result is not correct, then
> try the desk checking.
> I don't see how this is not correct, because my input was
>
> I got 432 when I counted, but Jim got 433 which
> is a lot for only 6 cats, or were there 12 cats?
>
And my output was:
I got 433 when I counted, but Jim got 434 which
is a lot for only 7 cats, or were there 13 cats?
> The below code is what I came up with without using your suggestion.
> On a scale, how novice is mine compared to what you offered? I am curious
> because I want to know if I should have come up with your solution instead
> of what I did come up with.
>
> def AlterInput(user_input):
> '''search for nums in str and increment/append, return new string'''
> new_output = []
> for num in user_input:
> if not num.isdigit():
> new_output.append(num)
> else:
> num.isdigit()
> new_num = int(num)
> new_num += 1
> new_output.append(str(new_num))
> return ' '.join(new_output)
>
> def GetUserInput():
> '''Get a string from the user and pass it'''
> user_input = '''I * got 432 when I counted, but Jim got 433 which
> is a lot for only 6 cats, or were there 12 cats?'''
> return AlterInput(user_input.split())
>
>
> Your code:
>
> return ' '.join(str(int(num)+1) if num.isdigit() else num for num in
> user_input)
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20120209/f35e5abf/attachment-0001.html>
More information about the Tutor
mailing list