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

CJ Doyle
CJ Doyle
1,177 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

KRIS NIKOLAISEN
PRO
KRIS NIKOLAISEN
Pro Student 47,363 Points

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,177 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.

KRIS NIKOLAISEN
PRO
KRIS NIKOLAISEN
Pro Student 47,363 Points

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,177 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.