List has no attribute: strip? (try a for loop)

Im starting to get frustrated over the way that you learn from codecademy. For example in this excercise it didn´t say in the instructions that you think about iterating/forloop (or whats it called) to be able to strip the list. The example was not even close to prepare you for that.

49 Likes

As said by jansson173, i didn’t expect the answer to be in for loop for the first part.
I wrote my code simply like this:

love_maybe_lines_stripped = love_maybe_lines.strip()

How is that this code above is wrong? How is that using a for loop in this exercise suits well?

9 Likes
>>> love_maybe_lines.strip()
Traceback (most recent call last):
  File "<pyshell#13>", line 1, in <module>
    love_maybe_lines.strip()
AttributeError: 'list' object has no attribute 'strip'
>>> 

We need to parse out the individual lines which as strings DO have a strip() method.

2 Likes

Agreed. When looking on stackoverflow everyone was recommending to use .replace() instead. Since that was not the objective of this exercise there was no useful information on how to properly .strip() a string. Their “example” was not an example, just a console output of what the string would look like of implemented correctly. Thinking there was a bug with the exercise or something small I was not missing I clicked “solution” to find that it was a “for” loop with the rest of the lesson completed. Since I am new to coding I find this to be irritating because my logic doesn’t exactly turn to breaking outside the box if in at least it is not suggested or “hinted”. If there was just a “hint”: “maybe think about a for loop…” or whatever, this would be better instruction rather than put up some bogus information and expecting new programmers to improvise off it.

Sorry about the rant. Just frustrated.

15 Likes

‘list’ object has no attribute ‘strip’

  • Sorry, I can"t seem to grasp what the sentence above really means. What does it mean exactly?
2 Likes

strip is an attribute (method) of class str objects. It’s purpose is to remove leading and trailing characters. If no character(s) are given as an argument, the default is whitespace.

We cannot strip a list.

11 Likes

i think the confusing part is that most of the time the instructions guide you as what you have to do and in this one to use for is not evident, maybe if at any part of the instructions they have used the words iterate, or for each one, etc, implying you have to for each element on a list, and not just strip…

3 Likes

2 posts were split to a new topic: Love maybe lines: solve this exercise using list comprehensions?

I’m considering switching over to another learning site, it just doesn’t worth my money and time to get exercises where I have to use things I just haven’t learned yet.
how do you expect people to resolve this if at this point they haven’t seen anything about loops, list or the use of .append?
it’s just ridiculous!

8 Likes

hello my friend. actually we have been through lists AND loops. just look at the python 3 syllabus. number 4 is lists and number 5 is loops. i don’t have a strong memory but im pretty sure that append should be in the Lists section.

Happy coding!!

9 Likes

i really know how you feel …
but i think it’s a good way to learn coding by this way … you just need to think every time before solving your problem … so here, codecademy told u that .strip() is working with strings not lists , so you need to iterate every element in the list (not the whole list) with for loop or any other loops , because every element is a string and .strip() is working with strings .

13 Likes

14 posts were split to a new topic: Value for love_maybe_lines_stripped did not match the expected value

2 posts were split to a new topic: But not strip a list?

5 posts were split to a new topic: Love maybe lines: ‘list’ object has no attribute ‘strip’

5 posts were split to a new topic: Love maybe lines: does not raise an error; it just doesn’t work…

5 posts were split to a new topic: Some of the exercises are not written well

I see everyone’s issue with this exercise. But i think this is a good way to learn. They expect you to resolve the issue in your own way as long as you hit the over all goal that they ask for. And they have given you all the skills before hand to resolve the issue.

Usually my code is a complete mess after trying to get the answer. Then i look at how i could have made my code more simple, less line, better techniques, and it highlights what more i need to learn. if we got spoon fed everything. We would not learn one of the main aspects i feel this course is trying to teach us, which is how to fix a problem being presented to us under certain parameters using what we know already . After all in the real world we will not be given hints.

I would also recommend getting python 3 on your computer so you can try out your code on there i feeling that helps with my learning process anyway as it allows me to keep perfecting my code in my own time after getting the right answer. And if you don’t have python 3 on your computer at this point anyway then you have not followed the course properly and moved on to quickly.

After all we are not just learning to code we are learning a way of thinking. which unfortunately can be a painful process at times :sweat_smile:

4 Likes

On the other hand, I found the exercise helpful to problem solve. I also got the list error I was trying to strip the list directly. I think the exercises were designed to also help us learn how to debug errors and think of ways to complete the objective.

I appreciated this exercise, too, because we need to apply the concepts from previous topics to arrive at the solution. So to me, it was just a matter of asking: “what have I learned so far that I can use to solve this problem?” And that’s how I ended up with the loops.