在一串 if 的語法中,else if 和 else 分別最多和最少可以使用幾個?
else if:0 到無限多個。
else:0 或 1 個。
請問下面左右的兩種寫法有什麼差別嗎?
左邊的不會印出 10 ~ 19 度時的情況。
右邊的不會印出「很熱」,因為第一個條件 (溫度 >= 20) 就已經包括 (溫度 >= 30) 了,所以只有 20 度以上就是舒適,以下就是很冷。
請問下圖在「布林」這個變數是 true 和 false 的時候,分別會執行哪幾行的「做點什麼」?
布林為 true 時:5 -> 7 -> 11。
布林為 false 時: 7 -> 11。
import Foundation // 【ChaoCode】 Swift 基礎篇 9:條件式流程控制——If 實作作業 // 1. 請根據下述的學校入學條件判斷入學申請者能否入學,並印出對印的文字。 // 「這間學校的入學門檻是平均成績須達 80 分,學費為 128,000 元,平均成績達 92 分以上可以以獎學生身份享全額補助入學。」 func 入學申請(名字: String, 平均成績: Int, 存款: Int) { //👇 請根據不同情況印出以下四種結果。 if(平均成績>=92) { print("🎉 \(名字) 以獎學生身份入學。") }else if(平均成績>=80&&平均成績<92 && 存款>=128000) {print("✅ \(名字) 可以入學。") } else if(平均成績>=80&&平均成績<92 && 存款<128000) {print("😢 \(名字) 成績達入學門檻,但無法支付學費,不能入學。") } else if(平均成績<80){print("❌ \(名字) 成績未達入學門檻,不能入學。") } } 入學申請(名字: "保羅", 平均成績: 80, 存款: 128000) 入學申請(名字: "傑克", 平均成績: 92, 存款: 18000) 入學申請(名字: "蘿拉", 平均成績: 95, 存款: 356700) 入學申請(名字: "馬丁", 平均成績: 70, 存款: 152340) 入學申請(名字: "米娜", 平均成績: 84, 存款: 238920) 入學申請(名字: "海倫", 平均成績: 90, 存款: 127000) // 2. 請根據 Google Doc 中提供的體脂率計算法和體型對照表印出正確的體脂率和體型資訊,如果對象低於 18 歲則只印出「多吃多動,健康快樂長大就好」。 func 體脂率計算(名字: String, 是男生: Bool, 年齡: Int, 身高: Double, 體重: Double) { //👇 請根據不同情況印出以下五種結果,記得要計算體脂率並把它印出來的值四捨五入到小數點第一位。 if (年齡 < 18) { print("\(名字),多吃多動,健康快樂長大就好。") } else { let bmi = 體重 / ((身高 / 100) * (身高 / 100)) let bodyFat = 1.2 * bmi + 0.23 * Double(年齡) - 5.4 - 10.8 * (是男生 ? 1 : 0) let formatter = NumberFormatter() formatter.maximumFractionDigits = 1 let bodyFatString = "\(名字)的體脂率是 \(formatter.string(for: bodyFat)!) %" // 💡 以男生 18~39 歲為基準,計算不同性別和年紀的偏差值。 let genderBias = 是男生 ? 0 : (21 - 8) let isYoungAdult = 年齡 < 40 var ageBias = 0 if (!isYoungAdult) { let isElder = 年齡 > 59 if (是男生) { ageBias += isElder ? 5 : 3 } else { ageBias += isElder ? 3 : 2 } } // 💡 把偏差值加起來,計算出正常範圍和肥胖下限 let bias = Double(genderBias + ageBias) let normalLowerBound = 8 + bias let normalUpperBound = 20 + bias let obesityLowerBound = 25 + bias let idealRangeString = "理想值應為 \(normalLowerBound) % ~ \(normalUpperBound) %" if (bodyFat < normalLowerBound) { print("\(bodyFatString),低於正常標準,\(idealRangeString)。") } else if (bodyFat < normalUpperBound) { print("\(bodyFatString),位於正常標準,繼續保持!") } else if (bodyFat < obesityLowerBound) { print("\(bodyFatString),高於正常標準,\(idealRangeString)。") } else { print("\(bodyFatString),屬於過胖體型,\(idealRangeString)。") } } } 體脂率計算(名字: "亞倫", 是男生: true, 年齡: 17, 身高: 149, 體重: 40) 體脂率計算(名字: "克里斯", 是男生: true, 年齡: 40, 身高: 150, 體重: 60) 體脂率計算(名字: "丹尼", 是男生: true, 年齡: 20, 身高: 181, 體重: 53) 體脂率計算(名字: "比爾", 是男生: true, 年齡: 26, 身高: 165, 體重: 53) 體脂率計算(名字: "吉米", 是男生: true, 年齡: 60, 身高: 173, 體重: 120) 體脂率計算(名字: "艾瑪", 是男生: false, 年齡: 17, 身高: 149, 體重: 40) 體脂率計算(名字: "凱西", 是男生: false, 年齡: 40, 身高: 150, 體重: 60) 體脂率計算(名字: "黛比", 是男生: false, 年齡: 20, 身高: 180, 體重: 53) 體脂率計算(名字: "瑪麗", 是男生: false, 年齡: 26, 身高: 165, 體重: 53) 體脂率計算(名字: "米蘭達", 是男生: false, 年齡: 60, 身高: 173, 體重: 120)
Top comments (0)