Python 程序:按重量排序动物列表
Python 程序:按重量排序动物列表
本程序接受用户输入的一系列动物及其重量,并根据重量由小到大排序输出。程序支持 kg 和 t 两种重量单位。
输入格式
每次输入一个动物名,以及其重量和单位,动物名与重量间用空格分隔,直接输入回车时结束输入(此时输入的字符为空字符串)。
提示: 判断输入是否为''空字符串,为True则结束输入。
输出格式
以二维列表形式输出,按重量由小到大升序排序。
输入样例:
cat 2kg
dog 3t
elefant 1000kg
rabbit 0.5t
fish 1kg
turtle 100kg
输出样例:
[['fish', '1kg'], ['cat', '2kg'], ['dog', '3t'], ['turtle', '100kg'], ['elephant', '1000kg'], ['rabbit', '0.5t']]
代码:
animals = []
while True:
input_str = input()
if input_str == '':
break
animal, weight_str = input_str.split()
weight, unit = weight_str[:-1], weight_str[-1]
animals.append([animal, weight_str])
# 将重量单位转换为统一单位,这里以 kg 为例
for i in range(len(animals)):
if animals[i][1][-1] == 't':
animals[i][1] = str(float(animals[i][1][:-1]) * 1000) + 'kg'
# 按重量排序
animals.sort(key=lambda x: float(x[1][:-2]))
print(animals)
原文地址: https://www.cveoy.top/t/topic/ozt8 著作权归作者所有。请勿转载和采集!