FizzBuzz问题

之前在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

如果你也在学习编程,那么也来尝试一下吧!

FizzBuzz问题》上有2条评论

  1. 头像rice0208

    我是为什么才会打开这篇文章……不过这样更加言简意赅:

    for i in range(1, 101):
    print(((“Fizz” if i % 3 == 0 else “”)+(“Buzz” if i % 5 == 0 else “”)) or i)

    回复

撰写评论

电子邮件地址不会被公开,必填项已用 * 标出。