在swift中获取值的倍数

在swift中获取值的倍数,swift,Swift,我试图检查一个数字是否是3或5的倍数,或者两者都是,不同的颜色会被打印出来。我能够运行这些值,但检查这两个值似乎并不能得到预期的结果 这是我的代码和回复 func fizzBuzz(n: Int) -> Void { let value = n for i in 1...value{ if(i.isMultiple(of: 5)){ print("Buzz") } else if(i.isMultiple(of: 3)

我试图检查一个数字是否是3或5的倍数,或者两者都是,不同的颜色会被打印出来。我能够运行这些值,但检查这两个值似乎并不能得到预期的结果

这是我的代码和回复

func fizzBuzz(n: Int) -> Void {
    let value = n
    for i in 1...value{
        if(i.isMultiple(of: 5)){
            print("Buzz")
        } else if(i.isMultiple(of: 3)){
            print("Fizz")
        } else if (i.isMultiple(of: 5)) && (i.isMultiple(of: 3)){
            return print("FizzBuzz")
        } else {
            print(i)
        }
    }

}

fizzBuzz(n: 15)
反应

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
Buzz

检查两者的第一个倍数

func fizzBuzz(n:Int)->Void{
因为我在1…n{
如果i是多个(共15个){
打印(“嘶嘶声”)
}否则,如果i.isMultiple(of:5){
打印(“嗡嗡声”)
}否则,如果i.isMultiple(of:3){
打印(“嘶嘶声”)
}否则{
印刷品(一)
}
}
}
碳酸饮料(n:15)
响应

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz

检查两者的第一个倍数

func fizzBuzz(n:Int)->Void{
因为我在1…n{
如果i是多个(共15个){
打印(“嘶嘶声”)
}否则,如果i.isMultiple(of:5){
打印(“嗡嗡声”)
}否则,如果i.isMultiple(of:3){
打印(“嘶嘶声”)
}否则{
印刷品(一)
}
}
}
碳酸饮料(n:15)
响应

1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz
以下是基于上述的答案。 以下是基于上述的答案。
简单地说,这是两者的倍数,那么第一个if将在触发双重检查之前被触发。首先检查是否两者都是多重的。谢谢@Larme,这就是问题所在。同样,检查3和5的倍数是否与检查15的倍数相同。请更新您的目标响应可能的重复,即两者的倍数,然后在触发双重检查之前触发第一个if。首先检查是否两者都有。谢谢@Larme这也是问题所在,检查3和5的倍数与检查是否为15的倍数相同请更新您的目标响应可能重复的
isMultiple
已经是Swift标准库的一部分5@user28434你说得对:)
isMultiple
已经是Swift标准库的一部分5@user28434你说得对:)