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

Enter your FizzBuzz solution here! You will have to make some minor changes to get this to work with our editor though.

Enter your FizzBuzz solution here! You will have to make some minor changes to get this to work with our editor though.

Step 1: Copy-paste your code in between the comments shown below. Your solution is going inside a function I created. Don't worry about what it does, this just allows me to verify your solution.

Step 2: Change your variable/constant name that you are checking in each step to n. For example if (n % 3 == 0). You also don't need to define n. It is defined in the function provided.

Step 3: Change all your print statements to return statements. For example: print("FizzBuzz") becomes return "FizzBuzz".

While these are very specific directions, they allow me to verify your solution precisely over a large number of possible answers.

Note: Do not worry about the default case (where the number doesn't match Fizz, Buzz, or FizzBuzz). The code in the challenge editor already takes care of that by returning the number as a string using string interpolation.

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

Josh Minor
Josh Minor
2,947 Points

//I think this should work?

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

7 Answers

Ahmed Al-Alawi
seal-mask
.a{fill-rule:evenodd;}techdegree
Ahmed Al-Alawi
Front End Web Development Techdegree Student 17,165 Points
if (n % 3 == 0) && (n % 5 == 0) { 
return ("FizzBuzz")
} 

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

else if (n % 5 == 0) {
return ("Buzz")
}
surya mandapati
surya mandapati
1,052 Points

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

Daniel Walker
Daniel Walker
2,031 Points
if (n % 3 == 0) {
return ("Fizz")
}

if (n % 5 == 0){
return ("Buzz")
}

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

Why would this not work? Is it not it the correct order? That would have to be my guess. Oh boy! its because the first two statements are true then there would be no need to make it too the 3rd IF statement.

Here is the solution:

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

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

else if (n % 5 == 0) { return ("Buzz") }

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"
}
}

// -> This is my code, but it does not function, What am I doing wrong? It tells me to double check Buzz values, but they seem alright.

Daniel Walker
Daniel Walker
2,031 Points

looks like you just didnt finish the challenge. you need a return value to be "FizzBuzz" and I've learned it needed to be first.

if you need help just come back and I'll help.

Rich Braymiller
Rich Braymiller
7,119 Points

How dumb should I feel if I can't get this?

Daniel Walker
Daniel Walker
2,031 Points

Not at all, What are you having trouble with?

Hi Daniel,

Yes that has been written as you can see above, the program did not copied well all the code.