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 trialMika Yamada
iOS Development with Swift Techdegree Student 2,060 PointsI cannot get right answer
I am not sure if I am on the right truck. I
// Enter your code below
func coordinates(for location: String) -> (lat: Double, lon: Double) {
var lat = 0.0
switch location {
case "Eiffel Tower": lat = 48.8582
case "Great Pyramid": lat = 29.9792
case "Sydney Opera House": lat = 33.8587
default : lat = 0.0
}
var lon = 0.0
switch location {
case "Eiffel Tower": lon = 2.2945
case "Great Pyramid": lon = 31.1344
case "Sydney Opera House": lon = 151.2140
default : lon = 0.0
}
return (lat, lon)
}
1 Answer
Magnus Hållberg
17,232 PointsYou have made it more complicated than needed. First, the contest say that you should return a tuple with two values and that you don't have to name them so remove the names but keep the types. Second, you can return a tuple directly from iside the switch so there is no need for two switches. That also makes the lon and lat variables you have declared unnecessary so remove those as well. With that done you should have something that loks like below.
func coordinates(for location: String) -> (Double, Double) {
switch location {
case "Eiffel Tower": return (48.8582, 2.2945)
case "Great Pyramid": return (29.9792, 31.1344)
case "Sydney Opera House": return (33.8587, 151.2140)
default : return (0, 0)
}
}