You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python元组存储文件信息代码补全及单位使用疑问

解决元组存储文件信息并转换字节为KB的问题

嘿,先帮你把代码补全好,再解答你的疑惑~

补全后的完整代码

def file_size(file_info):
    name, file_type, byte_size = file_info
    return "{:.2f}".format(byte_size / 1024)

print(file_size(('Class Assignment', 'docx', 17875))) # 输出17.46
print(file_size(('Notes', 'txt', 496))) # 输出0.48
print(file_size(('Program', 'py', 1239))) # 输出1.21

简单解释下:

  • 我们把元组file_info的三个元素分别解包到name(文件名)、file_type(文件类型)、byte_size(字节大小)三个变量中
  • 最后用byte_size除以1024转换为KB,再通过"{:.2f}"格式化为保留两位小数的字符串

关于你疑惑的「是否要在file_info中存储单位」的问题

这个得结合具体场景来看:

  1. 当前任务场景下,完全不需要
    题目已经明确输入元组的第三个元素是字节大小,所有测试用例都固定以字节为单位,额外存储单位反而冗余——直接按字节转KB的逻辑处理就足够。

  2. 如果是更灵活的业务场景,可以考虑存储单位
    要是你的程序需要处理不同单位的文件大小(比如有的输入是KB、有的是MB),那把单位和数值一起存在元组里会更合理。举个例子:

    def convert_file_size(file_info):
        name, file_type, size, unit = file_info
        if unit == 'byte':
            return "{:.2f} KB".format(size / 1024)
        elif unit == 'KB':
            return "{:.2f} KB".format(size)
        elif unit == 'MB':
            return "{:.2f} KB".format(size * 1024)
    
    print(convert_file_size(('Video', 'mp4', 2.5, 'MB'))) # 输出2560.00 KB
    

    这种情况下存储单位能让函数适配更多输入情况,逻辑更健壮。

总结来说,当前题目里不需要加单位,按给定的输入逻辑处理就好;如果后续有更复杂的需求,再考虑加入单位字段~

内容的提问来源于stack exchange,提问作者Imdadul Haque

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.08 19:43:16