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

SONU PRABHAKAR
SONU PRABHAKAR
2,039 Points

I don't know what this question is trying to tell. i have pasted question on snippet. help me out plz.

solve it plz...

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

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

2 Answers

Hi Sonu,

You start this challenge with an empty method:

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

  // End code
  return "\(n)"
}

Into this you need to test n as I said above. We can start with what I've typed previously:

func fizzBuzz(n: Int) -> String {
  // Enter your code between the two comment markers
if n % 3 == 0 && n % 5 == 0 {
  return "FizzBuzz"
}
  // End code
  return "\(n)"
}

So that tests one of the three scenarios and outputs the required string if the result is true. This tests if both n is divisible by 3 AND 5, outputting "FizzBuzz" if that's the case.

Then we need to test each other scenario; n being divisible by 3 or 5 (but not both, we've done that!). So, we can use exactly the same code format we've already used (which is why I left it there for you). We just need to extend the if statement with an else if:

    if n % 3 == 0 && n % 5 == 0 {
        return "FizzBuzz"
    } else if n % 3 == 0 {
        return "Fizz"
    } else if n % 5 == 0 {
        return "Buzz"
    }

I hope that helps - please do read the explanation; not just copy the answer. And shout it you need more.

Steve.

Hi Sonu,

The supplied function gives you an incoming parameter, n. You want to test n to see if it is divisible by 3, 5 or both, and output a string depending which condition is met.

Take the 'both' scenario, you can have:

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

You then need to add the other two conditions with else if so that only one condition of the three can be met - n % 3 == 0 and n % 7 == 0.

I hope that helps - let me know how you get on. Shout if you need some more assistance.

Steve.

SONU PRABHAKAR
SONU PRABHAKAR
2,039 Points

Dear Steve, thanks for your prompt answer. But still i didn't get this question so far. I want complete answer from start. give me complete answer to the question on snippet. I would be very thankful you for this.