当前位置:首页 >> 编程语言 >> 【Python CheckiO 题解】Absolute Sorting,3g门户手机频道

【Python CheckiO 题解】Absolute Sorting,3g门户手机频道

0evadmin 编程语言 1
文件名:【Python CheckiO 题解】Absolute Sorting,3g门户手机频道 【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-testingif __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)]
协助本站SEO优化一下,谢谢!
关键词不能为空
同类推荐
«    2025年12月    »
1234567
891011121314
15161718192021
22232425262728
293031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接