Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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

Mike Bailey
Mike Bailey
823 Points

FizzBuzz control flow challenge...

OK - here's the challenge...

--

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.

--

And here's my current code...

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

    if (n % 3 && n % 5 == 0){
        return "FizzBuzz"
    } else if n % 3 == 0 {
        return "Fizz"
    } || n % 5 == 0 {
        return "Buzz"
    } else
    // End code
    return "\(n)"
}

I think I've got the mechanics of the question down: (if n is divisible by 3 and 5 then return FizzBuzz) ELSE IF ((if n is divisible by 3 return "Fizz") OR (if n is divisible by 5 return "Buzz")) ELSE (return n)

BUT my syntax is all over the place.

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

  // End code
  return "\(n)"
}
Mike Bailey
Mike Bailey
823 Points

Here's my second attempt that's now displaying no errors in Playgrounds:

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"
    } else {
    // End code
        return "\(n)" }
}