【Python CheckiO 题解】The Most Numbers
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思路和实现代码,同时也学习学习其他大神写的代码。
CheckiO 官网:https://checkio.org/
我的 CheckiO 主页:https://py.checkio.org/user/TRHX/
CheckiO 题解系列专栏:https://itrhx.blog.csdn.net/category_9536424.html
CheckiO 所有题解源代码:https://github.com/TRHX/Python-CheckiO-Exercise
题目描述
【The Most Numbers】:给定一个数字(包括浮点数)组成的数组,你要计算数组中最大、最小值的差值,如果传入了一个空的数组,函数应该返回 0,计算结果精度为 ±0.001。
浮点数在计算机硬件中以二进制的小数来表示。 所以我们可以以 ±0.001的精度来验证结果,想想怎么处理不确定数量的参数吧!
【链接】:https://py.checkio.org/mission/most-numbers/
【输入】:一个由任意多个数字(int or float)组成的参数
【输出】:数组中最大值和最小值的差值(int or float)
【前提】: ≤ len(args) ≤ 20;all(-100 < x < 100 for x in args);all(isinstance(x, (int, float)) for x in args)
【范例】:
checkio(1, 2, 3) == 2
checkio(5, -5) == 10
checkio(10.2, -2.2, 0, 1.1, 0.5) == 12.4
checkio() == 0
解题思路
直接用 max()
和 min()
方法获取最大值和最小值,相减即可,如果没有传入参数,则返回 0,这条语句可以用三元表达式,更加简洁。
代码实现
def checkio(*args):return max(args)-min(args) if args else 0#These "asserts" using only for self-checking and not necessary for auto-testing
if __name__ == '__main__':def almost_equal(checked, correct, significant_digits):precision = 0.1 ** significant_digitsreturn correct - precision < checked < correct + precisionprint('Example:')print(checkio(1, 2, 3))assert almost_equal(checkio(1, 2, 3), 2, 3), "3-1=2"assert almost_equal(checkio(5, -5), 10, 3), "5-(-5)=10"assert almost_equal(checkio(10.2, -2.2, 0, 1.1, 0.5), 12.4, 3), "10.2-(-2.2)=12.4"assert almost_equal(checkio(), 0, 3), "Empty"print("Coding complete? Click 'Check' to review your tests and earn cool rewards!")
大神解答
大神解答 NO.1
def checkio(*args):return len(args) and max(args) - min(args)
大神解答 NO.2
def checkio(*args):return float(sorted(args)[-1])-float(sorted(args)[0]) if len(args) != 0 else 0
大神解答 NO.3
def checkio(*args):args = list(args)if len(args)==0: return 0return max(args)-min(args)
【Python CheckiO 题解】The Most Numbers相关推荐
- Python CheckiO 题解系列 丨 博客目录索引
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本题解系列主要记录自己在用 Python 闯关时的做 ...
- 【Python CheckiO 题解】Count Consecutive Summers
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
- 【Python CheckiO 题解】Absolute Sorting
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
- 【Python CheckiO 题解】Army Battles
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
- 【Python CheckiO 题解】Date and Time Converter
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
- 【Python CheckiO 题解】Largest Rectangle in a Histogram
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
- 【Python CheckiO 题解】Roman Numerals
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
- 【Python CheckiO 题解】Probably Dice
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
- 【Python CheckiO 题解】Multicolored Lamp
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
最新文章
- ArUco与AprilTag简介
- WPF模板(二)应用
- java集群_JAVA架构师学习:实践ZooKeeper 应用场景与集群管理,辛勤总结
- 拥有触觉分析能力,上交MIT获IROS 2020最佳论文奖
- 查看进程占用的端口号,同时杀死此进程
- mysql.sock文件丢失的一个原因
- 一个简单的通用序列数据结构
- PR值是什么?pr值的意义
- html复杂表格,横向多级表头,纵向多级表头,合并行或列
- 矩形图片怎么转换成圆形的图片
- “减糖”迫在眉睫,“代糖”或成最佳考量?
- PNG免抠素材网,免费商用,设计师赶紧马住。
- 【UOS】如何用Ventoy工具制作UOS启动盘操作
- hosts文件修改后域名无法访问
- 重置Windows打印机COM端口USB端口
- 阿里云ECS每天一件事D1:配置SSH
- 吃鸡无线重新链接服务器,吃鸡跟新时发生错误 无法连接更新服务器 | 手游网游页游攻略大全...
- Linux下查看DNS服务器IP地址
- 国内最值得关注的10家人工智能语音识别公司
- Linux的LVM与磁盘配额
热门文章
- 晒一下我的代码生成器
- 树的直径,树的最长路dp思想
- vs2010 sp1 安装 Silverlight4_Tools 提示 错误 解决办法
- 376 Wiggle Subsequence 贪心解法以及证明
- 401 binary watch
- python怎么读取github_六行代码获取Github排名前10的Python项目
- 空间留言软件_电脑硬盘空间提示不足,原来还可以这么做,真是学到老活到老...
- 高仿人人android梦想版终极源码发送,人人Android客户端梦想版发布
- mysql事务总结_MySQL数据库和相关事务总结
- sqlite3 journal