swift - 将我的代码变成更好的类似 Swift 的 FizzBu​​zz 响应答案

标签 swift swift2

<分区>

昨晚我在做一些编程时在网上搜索,我注意到有一个有趣的测试,雇主有时会用它来测试程序员,看看他们是否真的能将代码应用于现实世界的问题。它被称为 FizzBu​​zz 测试,其工作原理如下。

"Write a program that prints the numbers 1 to 100. But, for multiples of 3, print "Fizz" instead of the number and for multiples of 5, print "Buzz". For numbers which are multiples of both three and five print "FizzBuzz"."

现在,我坐下来很快想出了这段代码,我把它放在我的 viewDidLoad 方法中:

for i in 1...100 {
            if i % 3 = 0 && i % 5 == 0 {
                print("FizzBuzz")
            } else if i % 3 == 0 {
                print("Fizz")
            } else if i % 5 == 0 {
                print("Buzz")
            } else {
                print(i)
            }
        }

而且,虽然这满足了要求,但我对使用它作为我的解决方案感到非常不满意(对我来说它似乎太简单和基础了)。

我最近读了 Matt Neuburg 的书《iOS 9 Programming Fundamentals With Swift》(这本书让我大开眼界,在很多层面上大开眼界)。我着迷于尽可能让事情变得像 Swift-y(传递函数等)。然后,我清醒而沮丧地意识到,我真的不知道如何改进这段代码。

因此,我求助于 Swift 社区,希望您能更好地指导我什么是 FiizBuzz 测试问题的最复杂的 Swift 答案。

我拼命地尝试改进我的 Swift 编程,并想知道一种更好的 Swift-y 编程方法来处理我的代码。

最佳答案

关注 Dan 的 link在我想出的评论中:

for i in 1...100 {
  switch (i%3, i%5) {
  case (0,0): print("FizzBuzz")
  case (0,_): print("Fizz")
  case (_,0): print("Buzz")
  default: print(i)
  }
}

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

关于swift - 将我的代码变成更好的类似 Swift 的 FizzBu​​zz 响应答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35822271/

相关文章:

iOS ImageView 未填满屏幕且 Button 不在屏幕底部

ios - 如何在一行中声明变量和枚举声明?

ios - 如何在 iOS 中获取 iPod 库中歌曲的文件位置

swift 2.0 : use of self in method call before stored properties are initialised

ios - 我应该在收到有效载荷后更新我的应用程序吗?或者我应该总是通过允许它自己下载来更新它?

swift - 辅助功能:语音阅读更新标签?

ios - 如何搜索经过身份验证的用户 Firebase iOS Swift

iOS 触觉反馈不触发

swift - 在没有 Storyboard的情况下使用 UITableView

swift - 直接从导航 Controller 设置 BarButtonItem