我的if语句/代码测试是否正确Swift

时间:2017-03-29 23:11:29

标签: swift

我的导师说这个代码测试应评估为:

 parrotTrouble(isTalking: true, hour: 6) → true
 parrotTrouble(isTalking: true, hour: 7) → false
 parrotTrouble(isTalking: false, hour: 6) → false

在xcode中,我的是真的,是的,是真的。 给出代码,这似乎是真的。不过,我不确定。如果有的话,我做错了什么?

问题: "我们有一只吵闹的鹦鹉。 "小时"参数是当前小时时间,范围为0..23。如果鹦鹉在说话,小时在7点之前或20点之后,我们就会遇到麻烦。如果我们遇到麻烦,我们就会回来。"

 func parrotTrouble(isTalking: Bool, hour: Int) -> Bool {

    if hour < 7 {
        return true
    } else if hour > 20 {
        return true
    } else {
    return false
    }
}



parrotTrouble(isTalking: true, hour: 6)
parrotTrouble(isTalking: true, hour: 7)
parrotTrouble(isTalking: false, hour: 6)

1 个答案:

答案 0 :(得分:2)

您需要检查isTalking以及小时:

这是真正的简单版本:

func parrotTrouble(isTalking: Bool, hour: Int) -> Bool {
    return isTalking && (hour < 7 || hour > 20)
}

版本较长:

func parrotTrouble(isTalking: Bool, hour: Int) -> Bool {
    if isTalking {
        if hour < 7 {
            return true
        } else if hour > 20 {
            return true
        }
    }
    return false
}