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

iOS Swift Collections and Control Flow Control Flow With Conditional Statements FizzBuzz Challenge

Enter your FizzBuzz solution here!

I dont know

What am I doing wrong here? The code works in Swift playground. But it will not be approved here ...

fizzBuzz.swift
func fizzBuzz(n: Int) -> String {
  // Enter your code between the two comment markers
  for n in 1...100{
    if (n % 3 == 0) && (n % 5 == 0) {
       return "FizzBuzz"
    } else if (n % 3 == 0){
        return "Fizz"
    } else if (n % 5 == 0){
        return "Buzz"
    } else{
        return n
}
}
  // End code
  return "\(n)"
}

1 Answer

Jennifer Nordell
seal-mask
STAFF
.a{fill-rule:evenodd;}techdegree
Jennifer Nordell
Treehouse Teacher

Hi there! These challenges are very specific and because of the way that they are graded may have some unusual requirements. It seems that you missed the bottom line of the instructions:

The challenge also does not need you to loop over a range of values (using for or while). I'll take care of that.

Including a loop in your code will cause the challenge to fail. Instead of sending in a number and checking every value in that range for the output, it's going to send in several numbers one at a time, and check that the output was correct.

Hope this helps! :sparkles:

edited for additional information

Also, don't forget that a return statement will cause a function to exit. Because you are always starting with 1 here, and it does not fulfill any of the if or else if, it will return 1 and then stop. :smiley:

Thank you! Now it worked :)