Python If Else Loop Concatenate Objects
Solution 1:
This line is your problem:
prev_word = curr_word
On your first run through the loop, prev_word
is the integer 0, and you convert value_in
to an integer. So when you add value_in
to prev_word
, that succeeds because they are both integers. BUT you never convert curr_word
to an integer, so when you set prev_word
equal to curr_word
, it becomes a string. And on your second time through the loop, prev_word += value_in
fails because you can't add a string and an integer (that operation makes no sense).
I suggest not using the name prev_word
for a variable that's supposed to hold integers, actually. Rename it to prev_number
or something like that. Because it's obvious why you shouldn't assign curr_word
to prev_number
, but it's less obvious why you shouldn't assign curr_word
to prev_word
. Even through prev_word
is really supposed to be a number, at least the way you're using it.
Solution 2:
You are reassigning prev_word
inside your loop at the very end:
prev_word = curr_word
After this reassign, prev_word
which is initialized to an int
becomes a str
and this causes your addition to fail.
With the power of dynamic types comes great responsibility. Good variable names are key :)
Post a Comment for "Python If Else Loop Concatenate Objects"