【Python CheckiO 题解】Best Stock


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-testing
    assert 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 here
    return sorted(data.items(), key=lambda x: x[1])[-1][0]
发布了135 篇原创文章 · 获赞 475 · 访问量 44万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览