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

CJ Doyle
CJ Doyle
1,530 Points

So I did this problem on Xcode before putting in the system in treehouse and it worked. Why not here?

for i in 1..100 { if (i % 3 == 0) && (i % 5 == 0) { print("FizzBuzz") } else if (i % 3 == 0) { print("Fizz") } else if (i % 5 == 0) { print("Buzz") } else { print(i) } }

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

4 Answers

There are a few things in the instructions that weren't followed.

1) Change your variable/constant name that you are checking in each step to n

2) Change all your print statements to return statements

3) Do not worry about the default case

4) The challenge also does not need you to loop over a range of values

CJ Doyle
CJ Doyle
1,530 Points

Yeah before I copied I had changed over the variables to n, changed the statements to return and didn't do a default case and it still didn't work..didnt realize I still had the one before.

So it works now? Here is your code updated that passed for me:

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)"
}
CJ Doyle
CJ Doyle
1,530 Points

I ended up doing a switch statement instead one more time and it passed actually. But thank you so much for the help with the if statement... I See where I where I went wrong this time.