按重量排序动物列表:Python代码实现

本代码使用Python实现按重量排序动物列表的功能。用户可以输入动物名称和重量(单位kg或t),程序会自动将数据转换为统一单位并按重量从小到大排序输出。

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

提示: 判断输入是否为''空字符串,为True则结束输入。

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

示例 1 输入:

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

输出:

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

代码内容:

animals = []
while True:
    animal = input()
    if animal == '':
        break
    animals.append(animal.split())

def weight_key(animal_info):
    weight_str = animal_info[1]
    if weight_str.endswith('kg'):
        return float(weight_str[:-2])
    elif weight_str.endswith('t'):
        return float(weight_str[:-1]) * 1000
    else:
        return 0

animals.sort(key=weight_key)

print(animals)

代码解释:

  1. 创建空列表 animals 用于存储输入的动物信息。
  2. 使用 while True 循环 不断接收用户输入,直到用户输入空字符串。
  3. 使用 input() 函数接收用户输入,并使用 split() 方法将输入字符串分割成动物名称和重量信息,并将其添加到 animals 列表中。
  4. 定义函数 weight_key(),该函数接受一个动物信息列表,并返回其对应的重量数值(单位统一为 kg)。
  5. 使用 sort() 方法对 animals 列表进行排序,并将 key 参数设置为 weight_key 函数,以根据重量进行排序。
  6. 使用 print() 函数输出排序后的动物信息列表

代码说明:

  • 代码中使用了 endswith() 方法判断重量单位,并根据单位进行相应的单位转换,将所有重量都转换为 kg 单位。
  • 代码中使用 sort() 方法对列表进行排序,并使用 key 参数指定排序依据,这里使用 weight_key() 函数作为排序依据,实现了按重量进行排序。
  • 代码中使用了列表推导式 animal_info[1],方便简洁地获取动物信息列表中的重量信息。

优化建议:

  • 可以使用 try-except 语句对用户输入进行错误处理,例如,当用户输入的重量单位不为 kg 或 t 时,可以提示用户重新输入。
  • 可以使用更具描述性的变量名,例如,将 animal_info 变量名改为 animal_data,以更清晰地表达其含义。
  • 可以将代码封装成函数,以提高代码的可读性和可重用性。

希望本代码能帮助你更好地理解如何使用 Python 代码实现按重量排序动物列表的功能。

按重量排序动物列表:Python代码实现

原文地址: https://www.cveoy.top/t/topic/ozAQ 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录