python123题目——动物重量排序

类型:列表元组

描述

输入一系列动物名和其重量,重量单位可能是kg,也可能是t,动物名、与重量间空格分隔,重量数值与单位间无分隔。

按重量由小到大排序以二维列表形式输出。

输入格式

每次输入一个动物名,以及其重量和单位,动物名与重量间用空格分隔,直接输入回车时结束输入(此时输入的字符为空字符串)。

输出格式

以二维列表形式输出,按重量由小到大升序排序。

示例 1

输入:

北极熊 0.75t
企鹅 35kg
海豹 0.35t
白鲸 1.35t

输出:   

[['企鹅', '35kg'], ['海豚', '228kg'], ['海豹', '0.35t'], ['北极熊', '0.75t'], ['白鲸', '1.35t']]

参考代码

# ls = []
# while temp := input():
#     ls.append(temp.split())
# print(sorted(ls,key=lambda x:float(x[1][:-1]) * 1000 if x[1][-1] == 't' else float(x[1][:-2])))
# 输入一系列动物名和其重量,重量单位可能是kg,也可能是t,动物名、与重量间空格分隔,重量数值与单位间无分隔
# 按重量由小到大排序输出
ls = []
while True:
         temp = input() # 判断输入的是否为回车
         if temp == '': # 输入回车时结束循环
                   break
         ls.append(temp.split()) # 将接收的字符串根据空格切分,增加到列表中
print(sorted(ls,key=lambda x:float(x[1][:-1]) * 1000 if x[1][-1] == 't' else float(x[1][:-2])))
# 排序 关键字是列表第2个元素的值,其值要根据最后一个字符是否为t判定其单位是否为吨,此时需转为公斤

# 海豚 228kg
# 北极熊 0.75t
# 企鹅 35kg
# 海豹 0.35t
# 白鲸 1.35t
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

m0_62488776

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值