习题解析之:动物重量排序
【问题描述】
输入一系列动物名和其重量,重量单位可能是kg,也可能是t,动物名、与重量间空格分隔,重量数值与单位间无分隔。 按重量由小到大排序以二维列表形式输出。
输入格式
每次输入一个动物名,以及其重量和单位,动物名与重量间用空格分隔,直接输入回车时结束输入(此时输入的字符为空字符串)。
提示:判断输入是否为''空字符串,为True则结束输入。
输出格式
以二维列表形式输出,按重量由小到大升序排序。
示例
输入:
北极熊 0.75t
企鹅 35kg
海豹 0.35t
海豚 228kg
白鲸 1.35t
输出:
[['企鹅', '35kg'], ['海豚', '228kg'], ['海豹', '0.35t'], ['北极熊', '0.75t'], ['白鲸', '1.35t']]
【编程思路】
题目要求将二维列表按重量由小到大升序排序,而重量单位可能是kg,也可能是t。因此需要把它们统一起来,由于 1 t = 1000 kg,可以将重量单位用 kg 统一。
列表中的重量为字符串表示。对于一个表示重量的字符串 s,其最后一位(s[-1] == ‘t')或最后两位(s[-2:] == 'kg')是重量的单位,前面的数据为重量。
用分支结构描述为:
if s[-1] == 't': # 重量单位为 t
zl = eval(s[:-1]) * 1000 # 将单位't'前面的数字串转换为数值再乘以 1000 得到重量
else: # 重量单位为 t
zl = eval(s[:-2]) # 将单位'kg'前面的数字串直接转换为重量

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/978174.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!