小编Eri*_*erc的帖子

在字典中查找最小的条目,取而代之的是获取最后一个键值对

我的教科书要求我编写一个函数,将单个字典作为输入并返回最不可能被观察到的粒子,其中键是粒子名称,值是该粒子被观察到的概率。这是字典:

parts_to_probs = {'proton': 0.21, 'meson': 0.03, 'muon': 0.07, 'neutron': 0.55}
Run Code Online (Sandbox Code Playgroud)

这是我的文档字符串函数:

def least_likely(parts_to_probs: dict) -> str:
    """Return the particle from parts_to_probs that is least probable to be
    observed.

    >>> least_likely({'proton': 0.21, 'meson': 0.03, 'muon': 0.07, 'neutron': 0.55}) 

    ('meson', 0.03)
    """

    smallest = 1
    name = ''

    for particle in parts_to_probs:           
        probability = parts_to_probs[particle] 
        if probability < smallest:
            smallest = probability
            name = particle

    return (particle, probability)

print(least_likely(parts_to_probs))
Run Code Online (Sandbox Code Playgroud)

现在当我运行这个程序时,它总是从字典中打印出最后一个键/值对,不管它是否具有最小的概率。我真的不确定我必须改变什么,因为 for 循环应该在第二个循环之后停止。

由于 'muon' 的概率为 0.07,所以概率不会 < 最小(第二次循环后为 0.03)。

python dictionary

0
推荐指数
1
解决办法
75
查看次数

标签 统计

dictionary ×1

python ×1