Welcome to the Treehouse Community
Want to collaborate on code errors? Have bugs you need feedback on? Looking for an extra set of eyes on your latest project? Get support with fellow developers, designers, and programmers of all backgrounds and skill levels here with the Treehouse Community! While you're at it, check out some resources Treehouse students have shared here.
Looking to learn something new?
Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and join thousands of Treehouse students and alumni in the community today.
Start your free trialjenniferj
Data Analysis Techdegree Graduate 9,026 PointsStill stuck on making a list with items starting with A only
I appreciate the suggestions, but I am just not understanding what I am doing wrong.
continents = [
'Asia',
'South America',
'North America',
'Africa',
'Europe',
'Antarctica',
'Australia',
]
# Your code here
print("continents: ")
for continent in continents:
print("* " + continent)
if continent[0] == "A":
print("* ",continent)
3 Answers
jenniferj
Data Analysis Techdegree Graduate 9,026 PointsI got some help and finally got the answer. I had so many suggestions I was just getting very confused. I ultimately needed to delete the print line before if. This really isn't a fair challenge question because the first part of the question requires the print line and then you are supposed to just add to the first part for question two- not have to delete a line.
jb30
44,806 PointsSince for continent in continents:
and if continent[0] == "A":
are at the same indentation level, the for
loop will print out all the continents, starting with "Asia"
and ending with "Australia"
, before checking the first letter of the continent
variable, which is now "Australia"
. Since "Australia"
starts with an "A"
, the output is
continents:
* Asia
* South America
* North America
* Africa
* Europe
* Antarctica
* Australia
* Australia
The challenge is expecting only the continents starting with "A"
to be printed, and only one space between the *
and the name of the continent. print("* ",continent)
has two spaces after the *
since using the ,
between the arguments adds a space.
The expected output looks like
* Asia
* Africa
* Antarctica
* Australia
Try indenting the if
statement and its print
statement so that they are within the for
loop and removing the first print
statement from the for
loop.
Sergio Andrés Herrera Velásquez
Courses Plus Student 23,765 PointsHi Jennifer, sorry to see that you felt frustrated, about the outcome, it will become a bit more logical as you move forward in the language, just keep in mind that indentation is important in Python just as semicolons or curly braces are in Javascript, for example.
I can promise you that it will get easier as you go further into the language and you will see that you can create a lot more and build your own projects in python with ease in no time! you'll get to notice syntax errors more easily.
Wish you the best