Python Python Collections (2016, retired 2019) Dungeon Game Line endings

Kars Jansens
Kars Jansens
4,774 Points

I do not understand why this doesn't work. {python}

Question: OK, here's a...weird...set of tiles. I need you to loop through TILES and print out each item. Print each item on the same line unless the item is a double pipe (||). In that case, instead of printing the item, print a new line (\n). Use the end argument to print() to control whether things print on a new line or not.

I do not understand why this doesn't work.

mapping.py
TILES = ('-', ' ', '-', ' ', '-', '||',
         '_', '|', '_', '|', '_', '|', '||',
         '&', ' ', '_', ' ', '||',
         ' ', ' ', ' ', '^', ' ', '||'
)
for tile in TILES:
    if tile != '||':
        line_end = ""
        output = tile
    else:
        line_end = "\n"
        output = tile
    print(output,end=line_end) 

2 Answers

Jennifer Nordell
STAFF
Jennifer Nordell
Treehouse Staff

Hi there, Kars Jansens ! I received your request for assistance. You're doing terrific! But there is a slight problem. You are changing the line ending, but you're not hopping over the ||. Those are still printing out. The instructions say:

In that case, instead of printing the item, print a new line (\n).

This is fairly easily fixed, though. Inside your else statement, instead of setting output equal to the tile:

output = tile

Try setting it to an empty string:

output = ''

Remember, we only want to print the tile if it's not a || :smiley:

Hope this helps! :sparkles:

Kars Jansens
Kars Jansens
4,774 Points

Thank you, I overlooked that.