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 trial

Python

Subramanian K
Subramanian K
3,103 Points

join() and format()

Alright, let's finish making our menu. Combine the sundaes list into a new variable named display_menu, where each item in the list is rejoined together by a comma and a space (", "). Then reassign the menu variable to use the existing variable and .format() to replace the placeholder with the new string in display_menu. If you're really brave, you can even accomplish this all on the same line where menu is currently being set.

My code:

available = "banana split;hot fudge;cherry;malted;black and white"
sundaes = available.split(";")
menu = "Our available flavors are: {}."
display_menu = sundaes.format(', '.join(sundaes))
menu = "Our available flavors are: {}.".format(', '.join(display_menu))
Subramanian K
Subramanian K
3,103 Points

Yeah @Alexey Kislitsin I changed the code and put it in a block. Now Please check that.

3 Answers

Alx Ki
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Alx Ki
Python Web Development Techdegree Graduate 14,822 Points

Well, Subramanian K !

You should .format() string on 4th line not sundaes, which is list.

Also display_menu should:

    display_menu == "banana split, hot fudge, cherry, malted, black and white"

Does it make things clear?

Alx Ki
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Alx Ki
Python Web Development Techdegree Graduate 14,822 Points

Subramanian K , sorry for being unclear, i can't access the challenge)

  1. Combine the sundaes list into a new variable named display_menu, where each item in the list is rejoined together by a comma and a space (", ")

    display_menu = (make it string by sundaes.join(", "))
    
  2. Then reassign the menu variable to use the existing variable and .format() to replace the placeholder with the new string in display_menu.

    menu = menu.format(put your new string here)
    
Subramanian K
Subramanian K
3,103 Points

I tried. But I am confused i guess. @Alexey Kislitsin

available = "banana split;hot fudge;cherry;malted;black and white"
sundaes = available.split(";")
display_menu = "Our available flavors are: {}".join(", ")
menu = display_menu.format(", ".join(display_menu))
Alx Ki
seal-mask
.a{fill-rule:evenodd;}techdegree seal-36
Alx Ki
Python Web Development Techdegree Graduate 14,822 Points

As I said, I don't have access to challenge, but guess it should be like:

available = "banana split;hot fudge;cherry;malted;black and white"
sundaes = available.split(";")
display_menu = sundaes.join(", ")
menu = "Our available flavors are: {}.".format(display_menu)
Subramanian K
Subramanian K
3,103 Points

Okay sure. Will try that.