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

I think this is complete

I have done this challenge both here and in the playground. I have also checked the solution video but i cant seem to get it to pass here. Not sure why?

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

1 Answer

andren
andren
28,558 Points

In order for the challenge to verify your solution you actually have to make a number of changes to it first, those changes are laid out in detail in the challenge instructions:

Enter your FizzBuzz solution here! Before you hit submit, make the following changes:

Step 1: Enter your code in between the comments shown below. The code is going inside a "function" that will help 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). Note: You don't need to create n, it is already 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.

You need to go though all of the steps listed there for your code to be accepted, simply pasting your code into the function prepared like you have done is not enough.

To summarize those instructions what you specifically have to do is:

  1. Remove the for loop
  2. Change all references to the "i" variable to "n"
  3. Change all print statements to return statements
  4. Remove your last else statement since the function already has a return statement prepared for the else scenario.

When you have done all that your solution should be accepted.

Thankyou!!