【Python CheckiO 题解】Absolute Sorting
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
题目描述
【Absolute Sorting】:给定一个元组,其中元素有正数和负数,要求将其按照绝对值从小到大排序,返回的值可以是一个列表,也可以是一个元组。
【链接】:https://py.checkio.org/mission/absolute-sorting/
【输入】:由正负数组成的一个元组
【输出】:按绝对值升序排列的列表或元组
【前提】:len(set(abs(x) for x in array)) == len(array);0 < len(array) < 100;all(isinstance(x, int);for x in array);all(-100 < x < 100 for x in array)
【范例】:
checkio((-20, -5, 10, 15)) == [-5, 10, 15, -20] # or (-5, 10, 15, -20)
checkio((1, 2, 3, 0)) == [0, 1, 2, 3]
checkio((-1, -2, -3, 0)) == [0, -1, -2, -3]
代码实现
def checkio(numbers_array: tuple) -> list:return sorted(numbers_array, key=abs)# These "asserts" using only for self-checking and not necessary for auto-testing
if __name__ == '__main__':print('Example:')print(list(checkio((-20, -5, 10, 15))))def check_it(array):if not isinstance(array, (list, tuple)):raise TypeError("The result should be a list or tuple.")return list(array)assert check_it(checkio((-20, -5, 10, 15))) == [-5, 10, 15, -20], "Example" # or (-5, 10, 15, -20)assert check_it(checkio((1, 2, 3, 0))) == [0, 1, 2, 3], "Positive numbers"assert check_it(checkio((-1, -2, -3, 0))) == [0, -1, -2, -3], "Negative numbers"print("Coding complete? Click 'Check' to review your tests and earn cool rewards!")
大神解答
大神解答 NO.1
def checkio(array):array = list(array)for i in range(len(array)-1):for x in range(len(array)-1):if abs(array[x])>abs(array[x+1]):array[x],array[x+1]=array[x+1],array[x]return array
大神解答 NO.2
def checkio(numbers_array: tuple) -> list:abs_list = [abs(i) for i in numbers_array]return [x-2*x if x not in numbers_array else x for x in sorted(abs_list)]
【Python CheckiO 题解】Absolute Sorting相关推荐
- Python CheckiO 题解系列 丨 博客目录索引
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 在闯关时的做题思 ...
- 【Python CheckiO 题解】Time Converter (12h to 24h)
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
- 【Python CheckiO 题解】Speech Module
CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...
最新文章
- ORB_SLAM2单目初始化策略
- php使用workerman实战,使用workerman实现在线聊天的方法
- 修改IE9浏览器默认下载路径
- 经典C语言程序100例之三三
- 【转】家庭装修预算计算公式大全
- maven配置国内阿里云镜像
- android密码可见不可见的光标控制,Android EditText 在设置为输入密码的时候 密码是否可见 光标在最后显示...
- 4月6日米粉节:小米手机新一轮10万台开放购买
- 一.oracle的SQL中group by使用的情况(与聚合函数的关系)
- ubuntu 下 imagick PHP扩展的安装
- c# oracle异常,C# 连接Oracle数据库异常总结
- 机器学习-分类Classification
- 计算机驱动程序恢愎,如果意外卸载了计算机鼠标驱动程序,该怎么办_解决方案,以不小心卸载鼠标驱动程序...
- VirtualDub在处理WMV文件时显示“MISSING CODEC”怎么办
- java fifo lifo_一日一技:Python队列:FIFO 和 LIFO
- Matplotlib中的“plt”和“ax”到底是什么?
- python英文翻译-python中英文翻译
- Python实现烟花效果,祝大家2021年,牛年大吉。
- 科技无障碍盛会举办,人工智能和创新成为高频词
- 业界首家720p/1080p移动端实时超分,打造抖音极致画质体验
热门文章
- [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第29篇]什么是UF-CMA数字签名的定义?
- [Leetcode][第679题][JAVA][24点游戏][回溯][暴力]
- [剑指offer]面试题第[28]题[Leedcode][JAVA][第101题][对称二叉树][队列][递归]
- 贝叶斯软件genle教程_一文读懂蒙特卡罗方法和应用贝叶斯推理
- xman的思维导图快捷键_一图胜千言,免费的多人协作思维导图工具,推荐收藏值得拥有哦...
- python数据录入和分析_hive+python数据分析入门
- 数据库创建(利用写好的数据库表生成创建表的sql语句+利用生成的数据库创建表加同步数据sql)
- android如何删除项目,AndroidStudio中怎样删除项目
- java符号引用 直接引用_Java -- JVM的符号引用和直接引用
- 机器学习基于skcilearn tensorflow电子书_Tensorflow机器学习模型的跨平台上线