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

如何在不使用外部模块的情况下格式化打印电影售票与票房字典

需求说明

我有两个字典:
第一个字典记录电影的营收:

movie_collections_dict = {'Avatar':0, 'Titanic':0, 'StarWar':0}
# 表示各电影的营收

第二个字典记录各电影不同票种的预订座位数:

ticket_bookings = {
    'avatar': {'adult': 0,
               'child': 0,
               'concession': 0,
               'senior': 0,
               'student': 0},
    'starwar': {'adult': 0,
                'child': 0,
                'concession': 0,
                'senior': 0,
                'student': 0},
    'titanic': {'adult': 0,
                'child': 0,
                'concession': 0,
                'senior': 0,
                'student': 0}
}
# 表示各电影不同票种的已预订座位数

需要将这两个字典按照以下格式打印输出:

adult  child  student  senior  concession  Revenue
Avatar       0      0        0       0           0        0
Titanic      0      0        0       0           0        0
StarWar      0      0        0       0           0        0

要求:不得使用pandas等任何外部模块。

实现代码

通过字符串格式化的对齐语法可以实现需求,具体代码如下:

movie_collections_dict = {'Avatar':0, 'Titanic':0, 'StarWar':0}
ticket_bookings = {
    'avatar': {'adult': 0, 'child': 0, 'concession': 0, 'senior': 0, 'student': 0},
    'starwar': {'adult': 0, 'child': 0, 'concession': 0, 'senior': 0, 'student': 0},
    'titanic': {'adult': 0, 'child': 0, 'concession': 0, 'senior': 0, 'student': 0}
}

# 定义表头列的顺序,和目标输出保持一致
header_cols = ['adult', 'child', 'student', 'senior', 'concession']

# 打印表头,用:<n>实现左对齐,n为列宽
print(f"{'':<10}{'adult':<6}{'child':<6}{'student':<8}{'senior':<7}{'concession':<11}{'Revenue':<6}")

# 遍历每个电影,拼接对应数据并打印
for movie_name, revenue in movie_collections_dict.items():
    movie_key = movie_name.lower()
    booking_data = ticket_bookings[movie_key]
    # 按表头顺序提取各票种数据
    adult = booking_data['adult']
    child = booking_data['child']
    student = booking_data['student']
    senior = booking_data['senior']
    concession = booking_data['concession']
    # 格式化打印行内容
    print(f"{movie_name:<10}{adult:<6}{child:<6}{student:<8}{senior:<7}{concession:<11}{revenue:<6}")
代码说明
  1. 先定义表头列的顺序,确保输出列的排列和目标格式一致;
  2. 使用:<n>的字符串格式化语法实现左对齐,其中n值根据目标格式的列宽调整;
  3. 遍历营收字典的电影名称,将名称转为小写后匹配预订字典的键,提取对应票种的预订数据;
  4. 按照统一的格式拼接每行内容并打印,保证所有列对齐。

内容的提问来源于stack exchange,提问作者Mukund Panchal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 14:42:53