(Learner-here) Lists + Functions = headache
Bradley Wright
bradley.wright.biz at gmail.com
Sun May 5 21:24:44 EDT 2013
On Sunday, May 5, 2013 9:21:33 PM UTC-4, alex23 wrote:
> On May 6, 10:59 am, Bradley Wright <bradley.wright.... at gmail.com>
>
> wrote:
>
> > def fizz_cout(x):
>
> > count = 0
>
> > for item in x:
>
> > while item == "fizz":
>
> > count += 1
>
> > return count
>
> >
>
> > Please remember that i am a eager beginner, where am i going wrong?
>
>
>
> There are several problems with your code:
>
>
>
> > for item in x:
>
> > while item == "fizz":
>
> > count += 1
>
>
>
> The `for` takes an item out of the list `x`. If that item is the
>
> string 'fizz', it increments count. As it's a `while` loop, it will
>
> continue to increment for as long as `item` is 'fizz'. Since the while
>
> loop doesn't look up another list item, it will remain as 'fizz' until
>
> the end of time. Well, it would except for your second bug:
>
>
>
> > while item == "fizz":
>
> > count += 1
>
> > return count
>
>
>
> The very first time it encounters a list item that is 'fizz', it adds
>
> one to `count`, then exits the function passing back `count`.
>
>
>
> You want to move the return to _outside_ the for loop, and you want to
>
> change your `while` condition to an `if` instead.
Thank you Alex - much appreciated, about to implement right now!
More information about the Python-list
mailing list