我正在做这个问题集“FizzBuzz”,我的switch语句给了我一些问题,这是我的代码:
- func fizzBuzz(n: Int) -> String {
- switch n {
- case n % 3 == 0: print("Fizz")
- case n % 5 == 0: print("Buzz")
- case n % 15 == 0:print("FizzBuzz")
- }
- return "\(n)"
- }
如果你可以提供指针/提示,而不是给我正确的代码,那就会膨胀:D
我宁愿自己解决这个问题,但是一些提示可能会让我脱离这个洞.
尝试使用“case let where”:
- func fizzBuzz(n: Int) -> String {
- let result: String
- switch n {
- case let n where n % 3 == 0 && n % 5 == 0:
- result = "FizzBuzz"
- case let n where n % 3 == 0:
- result = "Fizz"
- case let n where n % 5 == 0:
- result = "Buzz"
- default:
- result = "none"
- }
- print("n:",n,"result:",result)
- return result
- }