我正在将此问题设置为“ 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在单独检查它们之前使用并检查两者是否匹配:
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 }