python百题大冲关-Fizz Buzz 经典问题

挑战介绍

给定一个整数 num,从 1 到 num 按照下面的规则返回每个数:

1如果这个数被 3 整除,返回 'Fizz'2如果这个数被 5 整除,返回 'Buzz'3如果这个数能同时被 35 整除,返回 'FizzBuzz'4如果这个数既不能被 3 也不能被 5 整除,返回这个数字的字符串格式。

挑战内容

本次挑战中,你需要在 fizzbuzz.py 文件中补充函数 fizz_buzz 的空缺部分。

1fizz_buzz 函数接受一个参数,num 用于指定传入的整数; 2fizz_buzz 函数输出一个数组。

你需要补充 fizz_buzz 函数,使 fizz_buzz 函数可以识别从 1 到 num 中能被 3 或 5 整除的数。要求如下:

1对于传入的整数 num,返回长度为 num 的数组,数组的每个值由 Fizz Buzz 的规则构成; 2如果传入的数为 None,需要使用 raise 语句显示 TypeError3如果传入的整数小于 1,需要使用 raise 语句显示 ValueError
1class Solution(object): 2 3 def fizz_buzz(self, num): 4 if num is None: 5 raise TypeError('num cannot be None') 6 if num < 1: 7 raise ValueError('num cannot be less than one') 8 results = [] 9 for i in range(1, num + 1): 10 if i % 3 == 0 and i % 5 == 0: 11 results.append('FizzBuzz') 12 elif i % 3 == 0: 13 results.append('Fizz') 14 elif i % 5 == 0: 15 results.append('Buzz') 16 else: 17 results.append(str(i)) 18 return results

因为需要返回长度为num的数组 索引从0开始 所以在遍历时需要将数值加1 通过ifelifelse条件语句来筛选添加符合要求数值 append() 方法用于在列表末尾添加新的对象。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

一篇文章带你了解JavaScript日期

日期对象允许您使用日期(年、月、日、小时、分钟、秒和毫秒)。一、JavaScript的日期格式一个JavaScript日期可以写为一个字符串:ThuFeb02201909:59:51GMT0800(中国标准时间)或者是一个数字:1486000791164写数字的日期,指定的毫秒数自1970年1月1日00:00:00到现在。1\.显示日期使用

mysql中like用法

like的通配符有两种%(百分号):代表零个、一个或者多个字符。\(下划线):代表一个数字或者字符。1\.name以"李"开头wherenamelike'李%'2\.name中包含"云",“云”可以在任何位置wherenamelike'%云%'3\.第二个和第三个字符是0的值wheresalarylike'\00%'4\

Python3:sqlalchemy对mysql数据库操作,非sql语句

Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''