之前在Medium上看到一篇文章,作者提到了FizzBuzz的问题,问题是这样的:
在1到100的数字中,能被3整除的变为“Fizz”,能被5整除的变为“Buzz”,既能被3整除又能被5整除的变为“FizzBuzz”,然后打印出这些数。
据他说很多的计算机专业毕业生求职时都没法完成这个简单的问题。于是,我也开始尝试了。两周过去一直没有解决,因为想要自己解决掉,所以也没有去Google答案。一开始纠结于如何替换掉相应的数字,没有找到可以替换数字的方法。然后又不知道如何在不破坏顺序的情况下替换数字。今晚突然有了灵感,解决了问题。
代码如下(python):
numbers = range(1,101) for i in numbers: if i%3==0 and i%5==0: print 'FizzBuzz' elif i%3==0: print 'Fizz' elif i%5==0: print 'Buzz' else: print i
如果你也在学习编程,那么也来尝试一下吧!
我是为什么才会打开这篇文章……不过这样更加言简意赅:
for i in range(1, 101):
print(((“Fizz” if i % 3 == 0 else “”)+(“Buzz” if i % 5 == 0 else “”)) or i)
我记得你之前创建过一个 PR 好像就是关于这个……