每次输入一个动物名,以及其重量和单位,动物名与重量间用空格分隔,直接输入回车时结束输入(此时输入的字符为空字符串)。
时间: 2024-02-20 20:57:05 浏览: 84
好的,我可以为您提供一个Python程序,用于接收用户输入的动物名称、重量和单位,并将它们存储在一个字典中。以下是程序示例:
```python
animals = {}
while True:
input_str = input("请输入动物名称和重量(单位):")
if not input_str:
break
animal, weight_unit = input_str.split()
weight, unit = weight_unit.split("kg")
animals[animal] = float(weight)
sorted_animals = sorted(animals.items(), key=lambda x: x[1], reverse=True)
for animal, weight in sorted_animals:
print(animal, weight, "kg")
```
在这个程序中,我们定义了一个空字典 `animals`,然后进入一个无限循环。在每次循环中,我们使用 `input` 函数接收用户输入的动物名称和重量(包括单位),并用 `split` 函数将它们分割开来。然后,我们将重量转换为浮点数,并将它们存储在字典 `animals` 中,以动物名称为键,以重量为值。
当用户输入一个空字符串时,我们使用 `break` 语句跳出循环。最后,我们使用 `sorted` 函数对字典中的项进行排序,排序的依据是每个项的值(重量),我们指定了一个 `lambda` 函数来获取每个项的值。最后,我们遍历排序后的项,并逐个打印它们的名称、重量和单位。
如果用户依次输入了以下内容:
```
大象 5000kg
狮子 190kg
长颈鹿 1500kg
斑马 500kg
犀牛 2200kg
河马 2500kg
```
则程序将输出:
```
大象 5000.0 kg
河马 2500.0 kg
犀牛 2200.0 kg
长颈鹿 1500.0 kg
斑马 500.0 kg
狮子 190.0 kg
```
这就是按重量排序后的动物列表,每个动物的重量都带有单位。
阅读全文