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相关推荐

  1. Python CheckiO 题解系列 丨 博客目录索引

    CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本题解系列主要记录自己在用 Python 闯关时的做 ...

  2. 【Python CheckiO 题解】Army Battles

    CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...

  3. 【Python CheckiO 题解】Date and Time Converter

    CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...

  4. 【Python CheckiO 题解】Largest Rectangle in a Histogram

    CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...

  5. 【Python CheckiO 题解】Roman Numerals

    CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...

  6. 【Python CheckiO 题解】Probably Dice

    CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...

  7. 【Python CheckiO 题解】Multicolored Lamp

    CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...

  8. 【Python CheckiO 题解】Time Converter (12h to 24h)

    CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...

  9. 【Python CheckiO 题解】Speech Module

    CheckiO 是面向初学者和高级程序员的编码游戏,使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务,从而提高你的编码技能,本博客主要记录自己用 Python 在闯关时的做题思 ...

最新文章

  1. ORB_SLAM2单目初始化策略
  2. php使用workerman实战,使用workerman实现在线聊天的方法
  3. 修改IE9浏览器默认下载路径
  4. 经典C语言程序100例之三三
  5. 【转】家庭装修预算计算公式大全
  6. maven配置国内阿里云镜像
  7. android密码可见不可见的光标控制,Android EditText 在设置为输入密码的时候 密码是否可见 光标在最后显示...
  8. 4月6日米粉节:小米手机新一轮10万台开放购买
  9. 一.oracle的SQL中group by使用的情况(与聚合函数的关系)
  10. ubuntu 下 imagick PHP扩展的安装
  11. c# oracle异常,C# 连接Oracle数据库异常总结
  12. 机器学习-分类Classification
  13. 计算机驱动程序恢愎,如果意外卸载了计算机鼠标驱动程序,该怎么办_解决方案,以不小心卸载鼠标驱动程序...
  14. VirtualDub在处理WMV文件时显示“MISSING CODEC”怎么办
  15. java fifo lifo_一日一技:Python队列:FIFO 和 LIFO
  16. Matplotlib中的“plt”和“ax”到底是什么?
  17. python英文翻译-python中英文翻译
  18. Python实现烟花效果,祝大家2021年,牛年大吉。
  19. 科技无障碍盛会举办,人工智能和创新成为高频词
  20. 业界首家720p/1080p移动端实时超分,打造抖音极致画质体验

热门文章

  1. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第29篇]什么是UF-CMA数字签名的定义?
  2. [Leetcode][第679题][JAVA][24点游戏][回溯][暴力]
  3. [剑指offer]面试题第[28]题[Leedcode][JAVA][第101题][对称二叉树][队列][递归]
  4. 贝叶斯软件genle教程_一文读懂蒙特卡罗方法和应用贝叶斯推理
  5. xman的思维导图快捷键_一图胜千言,免费的多人协作思维导图工具,推荐收藏值得拥有哦...
  6. python数据录入和分析_hive+python数据分析入门
  7. 数据库创建(利用写好的数据库表生成创建表的sql语句+利用生成的数据库创建表加同步数据sql)
  8. android如何删除项目,AndroidStudio中怎样删除项目
  9. java符号引用 直接引用_Java -- JVM的符号引用和直接引用
  10. 机器学习基于skcilearn tensorflow电子书_Tensorflow机器学习模型的跨平台上线