所以基本上我有这个代码:
from collections import OrderedDict as OD
person = OD({})
for num in range(10):
person[num] = float(input())
tall = max(person.values())
short = min(person.values())
key_tall = max(person.keys())
key_short = min(person.keys())
print(f'The shortest person is the person number {key_short} who is {short}meters tall')
print(f'The tallest person is the person number {key_tall} who is {tall}meters tall')
理论上,当我在字典中放 10 个人时,第一个数字是 1,一直到 9,最后一个是 0,输出应该是:
The shortest person is the person number 9 who is 0.0m meters tall
The tallest person is the person number 8 who is 9.0m meters tall
但实际上它打印:
The shortest person is the person number 0 who is 0.0m meters tall
The tallest person is the person number 9 who is 9.0m meters tall
由于某种原因,当我的字典的值从 1 一直到 10 时,它工作正常。
关于为什么会发生这种情况以及如何解决它的任何想法?