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
题目描述
【Best Stock】:给定一个字典,找出最大的值(value),返回其键(key)。
【链接】:https://py.checkio.org/mission/best-stock/
【输入】:一个字典
【输出】:字符串
【范例】:
best_stock({"CAC": 10.0, "ATX": 390.2, "WIG": 1.2}) == "ATX"
best_stock({"CAC": 91.1, "ATX": 1.01, "TASI": 120.9}) == "TASI"
解题思路
利用 max(dict, key=dict.get)
方法获取最大值(value)对应的键(key)
代码实现
def best_stock(a):return max(a, key=a.get)if __name__ == '__main__':print("Example:")print(best_stock({"CAC": 10.0, "ATX": 390.2, "WIG": 1.2}))# These "asserts" are used for self-checking and not for an auto-testingassert best_stock({"CAC": 10.0, "ATX": 390.2, "WIG": 1.2}) == "ATX"assert best_stock({"CAC": 91.1, "ATX": 1.01, "TASI": 120.9}) == "TASI"print("Coding complete? Click 'Check' to earn cool rewards!")
大神解答
大神解答 NO.1
def best_stock(a):return [stock for stock in a if a[stock] == max([a[stock] for stock in a])][0]
大神解答 NO.2
def best_stock(data):# your code herereturn sorted(data.items(), key=lambda x: x[1])[-1][0]