加入特别规则
本课属于 Coddy Swift 学习旅程的“基础知识”单元。第 61 课,共 86 课。
挑战
简单在上一课中,你创建了一个循环,用固定除数 3 和 5,从 1 开始运行 FizzBuzz,直到给定的上限。现在,增加一个变化,让除数可以自定义!
修改你的 fizzBuzz 函数,添加两个参数,用于指定自定义除数:
- 将函数签名更新为:
fizzBuzz(_ number: Int, fizzAt: Int = 3, buzzAt: Int = 5) -> String - 检查 "Fizz" 时,用
fizzAt替代 3 - 检查 "Buzz" 时,用
buzzAt替代 5 - 默认值可以确保未指定除数时,经典 FizzBuzz 仍然有效
你会收到以下输入:
- 上限(整数)
- "Fizz" 对应的第一个除数(整数)
- "Buzz" 对应的第二个除数(整数)
更新你的循环,让它为每个数字都将这些自定义除数传给函数。
例如,如果输入是 10、2 和 3,输出应为:
1
Fizz
Buzz
Fizz
5
FizzBuzz
7
Fizz
Buzz
Fizz在这个例子中,2 的倍数会输出 "Fizz",3 的倍数会输出 "Buzz",同时是两者倍数的数字(例如 6)会输出 "FizzBuzz"。
如果输入是 15、3 和 5(经典除数),输出应与原始 FizzBuzz 相同:
1
2
Fizz
4
Buzz
Fizz
7
8
Fizz
Buzz
11
Fizz
13
14
FizzBuzz亲手试试
func fizzBuzz(_ number: Int) -> String {
if number % 3 == 0 && number % 5 == 0 {
return "FizzBuzz"
} else if number % 3 == 0 {
return "Fizz"
} else if number % 5 == 0 {
return "Buzz"
} else {
return String(number)
}
}
// Read input
let limit = Int(readLine()!)!
// Loop from 1 to limit and print the result for each number
for number in 1...limit {
print(fizzBuzz(number))
}基础知识中的所有课
自己练习: Swift 在线编辑器