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 trialAbhishek Kambli
2,657 PointsHi, I am not able to pass through this question, but it runs perfectly in xCode
//Here is my code
func coordinates(forLocation location: String) -> (Double, Double) {
var lat: Double = 0.0, lon: Double = 0.0
switch location {
case "Eiffel Tower": lat = 48.8582; lon = 2.2945
case "Great Pyramid": lat = 29.9792; lon = 31.1344
case "Sydney Opera House": lat = 33.8587; lon = 151.2140
default: return (0,0)
}
return (lat, lon) }
coordinates(forLocation: "Eiffel Tower")
func coordinates(forLocation location: String) -> (Double, Double) {
var lat: Double = 0.0, lon: Double = 0.0
switch location {
case "Eiffel Tower": lat = 48.8582; lon = 2.2945
case "Great Pyramid": lat = 29.9792; lon = 31.1344
case "Sydney Opera House": lat = 33.8587; lon = 151.2140
default: return (0,0)
}
return (lat, lon)
}
coordinates(forLocation: "Eiffel Tower")
1 Answer
andren
28,558 PointsThe challenge specifies that the function's parameter should have an external name of "for" not "forLocation" like you have named it. Fixing that will allow you to pass the challenge.
Though it's also worth noting that your code could be simplified a bit as it is more verbose than it needs to be. You don't need to create lat, long variable and set those in the switch statement. Since those values are only used once you can just return them directly within the switch statement like this:
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)
}
}
That is just a bit of a tip for future reference, since either way works for this challenge.
Abhishek Kambli
2,657 PointsAbhishek Kambli
2,657 PointsThanks, it works :)