【Python CheckiO 题解】Median


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


题目描述

【Median】:给定一个数组,查找其中位数,如果数组的元素个数是偶数,则返回中间两个元素的平均值。

【链接】:https://py.checkio.org/mission/median/

【输入】:由整数组成的数组(list)

【输出】:数组的中位数(int or float)

【前提】:1 < len(data) ≤ 1000;all(0 ≤ x < 10 ** 6 for x in data)

【范例】

checkio([1, 2, 3, 4, 5]) == 3
checkio([3, 1, 2, 5, 3]) == 3
checkio([1, 300, 2, 200, 1]) == 2
checkio([3, 6, 20, 99, 10, 15]) == 12.5

解题思路

先用 sort() 方法将数组元素按照从小到大排序,利用数组的长度除以 2 来判断其元素个数是奇数还是偶数。

代码实现

from typing import Listdef checkio(data: List[int]) -> [int, float]:data.sort()if len(data) % 2 == 0:return (data[int(len(data)/2) - 1] + data[int(len(data)/2)])/2else:return data[int(len(data)/2)]# These "asserts" using only for self-checking and not necessary for auto-testing
if __name__ == '__main__':print("Example:")print(checkio([1, 2, 3, 4, 5]))assert checkio([1, 2, 3, 4, 5]) == 3, "Sorted list"assert checkio([3, 1, 2, 5, 3]) == 3, "Not sorted list"assert checkio([1, 300, 2, 200, 1]) == 2, "It's not an average"assert checkio([3, 6, 20, 99, 10, 15]) == 12.5, "Even length"print("Start the long test")assert checkio(list(range(1000000))) == 499999.5, "Long."print("Coding complete? Click 'Check' to earn cool rewards!")

大神解答

大神解答 NO.1

from typing import List
from statistics import mediandef checkio(data: List[int]) -> [int, float]:return median(data)

statistics 模块的 median 方法可以直接求中位数!

大神解答 NO.2

from typing import Listdef checkio(data: List[int]) -> [int, float]:data = sorted(data)l = len(data) return [(data[l//2]+data[l//2-1])/2, data[l//2]][l%2]

大神解答 NO.3

from typing import Listdef checkio(data):data.sort()half = len(data) // 2return (data[half] + data[~half]) / 2

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/437824.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Azure手把手系列 2:微软中国云服务介绍

在前面的文章中&#xff0c;我们已经了解到Azure有两种&#xff0c;分别是由微软直营的国际版&#xff0c;以及微软中国委托21世纪互联运营的国内版&#xff0c;两种Azure存在一定差异&#xff0c;并且数据不互通、帐号以及计费不统一。所以在选择微软公有云的时候也需要注意&a…

【Python CheckiO 题解】Days Between

CheckiO 是面向初学者和高级程序员的编码游戏&#xff0c;使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务&#xff0c;从而提高你的编码技能&#xff0c;本博客主要记录自己用 Python 在闯关时的做题思路和实现代码&#xff0c;同时也学习学习其他大神写的代码。 Chec…

【Python CheckiO 题解】Striped Words

CheckiO 是面向初学者和高级程序员的编码游戏&#xff0c;使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务&#xff0c;从而提高你的编码技能&#xff0c;本博客主要记录自己用 Python 在闯关时的做题思路和实现代码&#xff0c;同时也学习学习其他大神写的代码。 Chec…

Azure手把手系列 3:把IT的钱花在刀刃上

对于Azure以及公有云的了解&#xff0c;可谓是永无止境的&#xff0c;用一句客户的话来说就是Azure是大海&#xff0c;只要你往前航行&#xff0c;一定能时不时的发现宝藏&#xff1b;Azure好比是一座冰山&#xff0c;当你以为你已经对Azure很熟悉了&#xff0c;其实这只是冰山…

Azure手把手系列 4:深入了解Azure 一块钱当三块用

通过前面的文章&#xff0c;相信大家对Azure有了一个基础的认识&#xff0c;接下来&#xff0c;我们再来看下作为企业&#xff0c;选择公有云服务最重要的因素之一 价格。我们都知道所谓公有云&#xff0c;就是要让IT资源变成我们生活中类似于水电气的资源&#xff0c;按需使用…

【Python CheckiO 题解】Feed Pigeons

CheckiO 是面向初学者和高级程序员的编码游戏&#xff0c;使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务&#xff0c;从而提高你的编码技能&#xff0c;本博客主要记录自己用 Python 在闯关时的做题思路和实现代码&#xff0c;同时也学习学习其他大神写的代码。 Chec…

【Python CheckiO 题解】I Love Python!

CheckiO 是面向初学者和高级程序员的编码游戏&#xff0c;使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务&#xff0c;从而提高你的编码技能&#xff0c;本博客主要记录自己用 Python 在闯关时的做题思路和实现代码&#xff0c;同时也学习学习其他大神写的代码。 Chec…

【Python CheckiO 题解】Create Intervals

CheckiO 是面向初学者和高级程序员的编码游戏&#xff0c;使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务&#xff0c;从而提高你的编码技能&#xff0c;本博客主要记录自己用 Python 在闯关时的做题思路和实现代码&#xff0c;同时也学习学习其他大神写的代码。 Chec…

on-premise-application是什么意思

应用、程序的意思。 1、该平台使用户可以在基于云计算的前置应用&#xff08;on-premise application&#xff09;之间方便地传输数据&#xff0c;而无需任何软件和代码。 2、公司再以SQL语法将资料库存放进上部署应用程序(On-Premise Application)中。 On-premises software…

【Python CheckiO 题解】Text Editor

CheckiO 是面向初学者和高级程序员的编码游戏&#xff0c;使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务&#xff0c;从而提高你的编码技能&#xff0c;本博客主要记录自己用 Python 在闯关时的做题思路和实现代码&#xff0c;同时也学习学习其他大神写的代码。 Chec…

使用VS code 创建 Azure Functions,从blob触发,解析,发送至Service Bus

场景: 某设备定时于每天23&#xff1a;00左右将一天的运行日志.devicelogtxt上传到Azure Blob&#xff0c;期待Blob文件上传后, 自动通过Azure Functions 解析文件并将文件内容写入到服务总线Service Bus的队列中。 上传的文件格式为&#xff1a; 步骤&#xff1a; 下载并安装…

【Python CheckiO 题解】Remove Accents

CheckiO 是面向初学者和高级程序员的编码游戏&#xff0c;使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务&#xff0c;从而提高你的编码技能&#xff0c;本博客主要记录自己用 Python 在闯关时的做题思路和实现代码&#xff0c;同时也学习学习其他大神写的代码。 Chec…

Power Platform之Power Automate新增RPA功能

​ 什么是RPA RPA&#xff08; Robotic Process Automation 机器人流程自动化软件&#xff09;&#xff0c;是一种新型的人工智能的虚拟流程自动化机器人。RPA的核心是通过自动化、智能化技术来“替代人”进行重复性、低价值、无需人工决策等固定性流程化操作&#xff0c;从而…

【Python CheckiO 题解】Count Consecutive Summers

CheckiO 是面向初学者和高级程序员的编码游戏&#xff0c;使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务&#xff0c;从而提高你的编码技能&#xff0c;本博客主要记录自己用 Python 在闯关时的做题思路和实现代码&#xff0c;同时也学习学习其他大神写的代码。 Chec…

Hyper-V第1代虚拟机和第2代虚拟机特性对照表

本文《Hyper-V第1代虚拟机和第2代虚拟机特性对照表》系小编在小伟博客看到的文档&#xff0c;转载给大家一起学习。 在 Windows Server 2012 R2 和 Windows 8.1 中内置的 Hyper-V 功能&#xff0c;新增了一种“第二代”虚拟机&#xff0c;从虚拟硬件的层面进行了提升&#xff0…

【Python CheckiO 题解】Speech Module

CheckiO 是面向初学者和高级程序员的编码游戏&#xff0c;使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务&#xff0c;从而提高你的编码技能&#xff0c;本博客主要记录自己用 Python 在闯关时的做题思路和实现代码&#xff0c;同时也学习学习其他大神写的代码。 Chec…

Dynamics 365 Online和On-premises在开发方式上的差别

1、新建账号的不同&#xff1a;on-premises(下文简称op)是和ad绑定的&#xff0c;所以必须先在ad中新建账号后才能在CRM中新建。而online是和Office365(下文简称O365)绑定的&#xff0c;所以需在O365中新建账号再分配D365许可(前提是已购买license),当分配完许可后&#xff0c;…

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

CheckiO 是面向初学者和高级程序员的编码游戏&#xff0c;使用 Python 和 JavaScript 解决棘手的挑战和有趣的任务&#xff0c;从而提高你的编码技能&#xff0c;本博客主要记录自己用 Python 在闯关时的做题思路和实现代码&#xff0c;同时也学习学习其他大神写的代码。 Chec…

【转】Dynamics 365 On-Premise Server v9.0部署体验

期盼已久的Dynamics 365 On-Premise的版本升级终于在11月初姗姗来迟。 11月2日起已经可以在官方渠道下载正式版的Dynamics 365 Server v9.0安装文件&#xff0c;版本号9.0.2&#xff0c;随手附上中文版安装文件下载地址。 想必已经有不少小伙伴开始尝试各种升级、安装了吧。 …