专栏《零基础学编程Python 3》作者是一名自学成才的程序员,经过一年的自学,掌握了编程技能并在eBay找到了一份软件工程师的工作。专栏内容便是作者结合个人经验写作而成,
专栏内不仅教你如何使用Python语言编程,还会讲解程序员必须掌握的5大编程工具、数据结构和算法、最佳编程实战技巧。让你学完后,轻松掌握Python技能,找到工作。
小复习
上一章,我们讲了,Python程序员必须要掌握的2个数据结构:栈和队列。
再想看上一节的话,可以再下面的专栏内找到。
“算法,就像一张菜谱。”
——瓦辛·拉提夫(Waseem Latif)
本章将简要介绍算法。算法(algorithm)是解决问题的一系列步骤。问题的类型多种多样,从列表检索到打印歌词都可以用算法解决。
22.1FizzBuzz
本节中,我们来学习如何应对面试中经常会问到的问题——FizzBuzz。
编写一个程序,打印从1到100之间的数字。碰到3的倍数时,不打印数字,而是打印"Fizz";碰到5的倍数时,则打印"Buzz";如果是3和5共同的倍数,则打印"FizzBuzz"。
为了解决该问题,我们需要检查某个数字是否是3、5或二者共同的倍数。如果数字是3的倍数,那么将其除以3,不会有余数。5的倍数也适用该原则。取模运算符%的返回结果为余数。遍历1到100之间的数字,并检查每个数字是否能被3、5整除,或者能否被两个数字同时整除:
01 # /jroprmn02 03 04 def fizz_buzz():05 for i in range(1, 101):06 if i % 3 == 0 and i % 5 == 0:07 print("FizzBuzz")08 elif i % 3 == 0:09 print("Fizz")10 elif i % 5 == 0:11 print("Buzz")12 else:13 print(i)14 15 16 fizz_buzz()>> 1>> 2>> Fizz...