Fizzbuzz问题

考试周了,考完随机过程又无耻的溜网了。看到了Coding horror上的一篇文章Why Can’t Programmers.. Program?大体上说了面试程序员的时候被问道简单的编程问题时许多面试者都不会的问题。原文题为:

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

但是就是这个比较简单的问题难倒了很多拥有硕士学位的应聘者。作者主要在强调基础的重要性吧。就个人而言,我倒是觉得这样的问题很难难到学校里的学生。因为在课堂中毕竟做过很多这样的练习了,相反我们缺少的应该是做一些大程序的经验,而且学校中普遍会忽略编程的 规范性。前几天参加一个面向老师的生物课程,讲课的老师给了一个示例程序来处理获得的基因表达关系。打开程序的时候真的额震惊了,满篇的i,j,k变量,看得人肾疼。这种明显具有十分浓重的学院风。好了,不过多探讨学校与企业要求的问题了,太复杂一时很难说清楚。下面贴一下自己用python解决FizzBuzz问题的代码,欢迎大家给出更好的算法!

 1 #!/usr/bin/env python

 2 #-*- coding:utf-8 -*-

 3 #Filename : FizzBuzz.py

 4

 5 for num in range(1,101):

 6     if num%3==0 and num%5==0:

 7         print ‘FizzBuzz’

 8         continue

 9     if num%3==0:

10         print ‘Fizz’

11         continue

12     if num%5 == 0:

13         print ‘Buzz’

14         continue

15     print num

发表评论

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.