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

DaLongggggg 等级 363 0 0

挑战介绍

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

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

挑战内容

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

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

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

对于传入的整数 num,返回长度为 num 的数组,数组的每个值由 Fizz Buzz 的规则构成;
如果传入的数为 None,需要使用 raise 语句显示 TypeError。
如果传入的整数小于 1,需要使用 raise 语句显示 ValueError。
class Solution(object):

    def fizz_buzz(self, num):
        if num is None:
            raise TypeError('num cannot be None')
        if num < 1:
            raise ValueError('num cannot be less than one')
        results = []
        for i in range(1, num + 1):
            if i % 3 == 0 and i % 5 == 0:
                results.append('FizzBuzz')
            elif i % 3 == 0:
                results.append('Fizz')
            elif i % 5 == 0:
                results.append('Buzz')
            else:
                results.append(str(i))
        return results

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

收藏
评论区

相关推荐

Python小应用 百度接口实现图片文字识别,并打包成安装包软件
本文给大家分享的主题是用百度的接口实现图片的文字识别。 1.环境和配置要求 整体是用Python实现,所需要使用的第三方库包括aip、PIL、keyboard、pyinstaller,如未安装,可在CMD中使用pip install BaiduAIP/pillow/keyboard/pyinstaller指令安装。 百度接口 打开https://
python百题大冲关-压缩字符串
挑战介绍 实现一个算法来压缩一个字符串。压缩的要求如下: 需要判断压缩能不能节省空间,仅在压缩后字符串比原字符串长度更短时进行压缩。 压缩的格式是将连续相同字符替换为字符数字形式,例如 "AAABCCDDDD" 变为 "A3BC2D4"。 本次挑战中,你需要在 compress_str.py 文件中补充函数 compress 的空缺部分
python百题大冲关-反转字符串中的字符
挑战介绍 实现一个算法来实现反转字符数组的功能。反转的要求如下: 将字符数组的字符进行反转,例如 'b', ' ', 'a', 'r' 变成 'r', 'a', ' ', 'b'。 将字符数组替换为反转后的数组。 本次挑战中,你需要在 reverse_chars.py 文件中补充函数 reverse 的空缺部分。 re
知乎从Python转为Go,是不是代表Go比Python好?
众所周知,知乎早在几年前就将推荐系统从 Python 转为了 Go。于是乎,一部分人就说 Go 比 Python 好,Go 和 Python 两大社区的相关开发人员为此也争论过不少,似乎,谁也没完全说服谁。 知乎从Python转为Go,是不是代表Go比Python好?我认为,各有优点,谁也取代不了谁,会长期共存! “由 Python 语言转向 Go 语言
python百题大冲关-Fizz Buzz 经典问题
挑战介绍 给定一个整数 num,从 1 到 num 按照下面的规则返回每个数: 如果这个数被 3 整除,返回 'Fizz'。 如果这个数被 5 整除,返回 'Buzz'。 如果这个数能同时被 3 和 5 整除,返回 'FizzBuzz'。 如果这个数既不能被 3 也不能被 5 整除,返回这个数字的字符串格式。 挑战内容
Python编程基础(快速入门必看
Python编程基础一、Python语言基本语法 Python是一
全网最全python学习路线图,让学习不迷路
学习Python有一段时间了,最近也是在不断的整理Python相关的基础知识和学习一些新的知识,想来分享给大家。我刚开始接触Python时,和大多数初学者一样不知道从那里开始学习python,我也在网上找了许多python相关的资料来学习,但是资料多也不见得就好,因为不知道从哪里开始下手,走了许多弯路。后面我就整理了一套对初学者来说学习python能很快上手
怎么操作能使Python代码运行起来速度飞快?
Python是开发人员当中流行的编程语言之一。它应用广泛,无论是Web开发还是机器学习。Python大受欢迎的原因有很多,比如社区支持、出色的库、广泛用于机器学习和大数据以及简单的语法。尽管有这么多优点,Python还是有一个缺点:速度慢。作为一种解释性语言,Python的速度不如其他编程语言。不过,我们可以用几个技巧来克服这个问题。本文将分享几个Pytho
BaiduSpider:一个爬取百度的利器
BaiduSpider是一款基于Python的百度搜索结果爬虫,支持多种搜索结果。这篇文章将从多个方面介绍BaiduSpider。 什么是BaiduSpider?BaiduSpider是一款强大但轻量的百度搜索结果提取器,基于BeautifulSoup4和requests。它支持多种搜索结果,包括百度网页搜索,百度图片搜索,百度知道搜索,百度视频搜索,百度资
浅析常用的Python Web的几大框架
在各种语言平台中,python涌现的web框架恐怕是最多的,是一个百花齐放的世界,各种microframework、framework不可胜数;猜想原因应该是在python中构造框架十分简单,使得轮子不断被发明。所 以在Python社区总有关于Python框架孰优孰劣的话题。下面就给大家介绍一下python的几大框架: Django Django 应该是最出
手把手教你使用Flask搭建ES搜索引擎(预备篇)
/1 前言/ Elasticsearch 是一个开源的搜索引擎,建立在一个全文搜索引擎库 Apache Lucene™ 基础之上。 那么如何实现 Elasticsearch和 Python 的对接成为我们所关心的问题了 (怎么什么都要和 Python 关联啊)。 /2 Python 交互/ 所以,Python 也就提供了可以对接 Elasti
盘点一款Python二级考试模拟软件,带你轻松过关二级Python考试
大家好,我是Python进阶者。今天给大家讲的这个软件,主要是想让大家通过这个软件能将自己的Python基础进一步提高。一、前言相信有些小伙伴学习Python有一段时日,但是又不知道自己的Python基础学的如何,这个时候就需要一款神器来检测一下自己的Python基础了。要想检测自己的Python功力最直观的方法当然是做题了,至于做什么题了我们就不得而知了,
如何来理解Python中的字典数据类型
大家好,我是IT共享者,人称皮皮。今天给大家讲解下Python中的字典数据类型。一、前言 字典是Python中的数据类型,可让将数据存储在键/值对中。 二、什么是字典理解?字典理解是创建字典的一种优雅简洁的方法。 字典理解优化使用字典理解优化函数。例: 字典理解例:squaredict num: numnum for num in range(1, 1
手把手教你4种方法用Python批量实现多Excel多Sheet合并
一、前言大家好,我是崔艳飞。前两天给大家分享了Python自动化文章:,而后在Python进阶交流群里边有读者遇到一个问题,他有很多个Excel表格,他需要对这些Excel文件进行合并。诚然,一个一个打开复制粘贴固然可行,但是该方法费时费力,还容易出错,几个文件还可以手动处理,要是几十个甚至上百个,你就抓瞎了,不过这问题对Python来说,so easy,一
Python基础2——类型转换、深浅拷贝、函数
8、类型转换、深浅拷贝 8.1 数据转换数据类型 int 整型 float浮点数 bool 布尔值 complex复数 str 字符串 list 列表 tuple 元组 dict 字典 set 集合python 类型转换int() num int("123")if num 123: print("等于123")num 123n str(num)