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 2.0 Collections and Control Flow Control Flow With Conditional Statements FizzBuzz

Oscar G
Oscar G
2,647 Points

Anyone can tell me whats wrong with this approach to the "FizzBuzz" challenge

I tried getteing the print statement and the return function but the compiler gives me a wrong code message.

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

Jason Anders
MOD
Jason Anders
Treehouse Moderator 145,860 Points

Hey Oscar,

While your code is 'technically' correct, there are just a couple of things. First, the challenge specifically stated that you were to not "define n. It is defined in the function provided." By creating the for loop, you defined n.

Second, the challenge said not to "worry about the default case...", but when you included the else statement, with a return, you added a default case. Both these need to be deleted, and your code will then pass.

func fizzBuzz(n: Int) -> String {
  // Enter your code between the two comment markers

  if (n % 3 == 0) && (n % 5 == 0) {
      return "FizzBuzz"
  } else if (n % 3 == 0) {
      return "Fizz"

  } else if (n % 5 == 0) {
      return "Buzz"
  }
  // End code
  return "\(n)"
}

Keep Coding! :)

:dizzy:

Oscar G
Oscar G
2,647 Points

I got it. Thanks a lot Jason.