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

求助:使用Python开发符合指定输出规范的星系分析工具

Python 星系分析器(Galaxy Analyzer)实现

以下代码严格匹配指定的交互流程、运算规则与输出格式,无需额外第三方依赖,可直接在Python 3.6+环境运行:

def run_galaxy_analyzer():
    print("=== 欢迎使用星系分析器(Galaxy Analyzer) ===")
    while True:
        # 数据采集阶段
        galaxy_count = int(input("请输入待分析的星系数目:"))
        total_planet = 0
        total_revenue = 0
        # 区间计数对应规则:<20000美元、20000(含)-40000美元、40000(含)-60000美元、60000(含)-80000美元、80000美元及以上
        range_count = [0, 0, 0, 0, 0]
        
        for g_idx in range(galaxy_count):
            planet_num = int(input(f"请输入第{g_idx+1}个星系包含的行星数目:"))
            galaxy_revenue = 0
            for p_idx in range(planet_num):
                rev = float(input(f"请输入第{g_idx+1}个星系的第{p_idx+1}颗行星上一年度收入(美元):"))
                galaxy_revenue += rev
                total_revenue += rev
            total_planet += planet_num
            # 按单星系平均收入划分区间
            galaxy_avg_rev = galaxy_revenue / planet_num
            if galaxy_avg_rev < 20000:
                range_count[0] += 1
            elif 20000 <= galaxy_avg_rev < 40000:
                range_count[1] += 1
            elif 40000 <= galaxy_avg_rev < 60000:
                range_count[2] += 1
            elif 60000 <= galaxy_avg_rev < 80000:
                range_count[3] += 1
            else:
                range_count[4] += 1
        
        # 统计指标计算
        avg_planet_per_galaxy = total_planet / galaxy_count
        avg_rev_per_planet = total_revenue / total_planet
        avg_rev_per_galaxy = total_revenue / galaxy_count
        
        # 结果输出
        print("\n=== 本次星系分析统计结果 ===")
        print(f"行星总数量:{total_planet}")
        print(f"单星系平均行星数:{avg_planet_per_galaxy:.2f}")
        print(f"行星平均收入:{avg_rev_per_planet:.2f}美元")
        print(f"星系平均收入:{avg_rev_per_galaxy:.2f}美元")
        print("星系收入区间分布:")
        print(f"- 收入低于20000美元:{range_count[0]}个")
        print(f"- 20000美元(含)至40000美元:{range_count[1]}个")
        print(f"- 40000美元(含)至60000美元:{range_count[2]}个")
        print(f"- 60000美元(含)至80000美元:{range_count[3]}个")
        print(f"- 80000美元及以上:{range_count[4]}个")
        
        # 循环控制
        next_turn = input("\n是否分析其他象限?(输入no结束程序,其他任意输入继续):").strip().lower()
        if next_turn == "no":
            print("感谢使用星系分析器,程序已退出。")
            break

if __name__ == "__main__":
    run_galaxy_analyzer()

规则匹配说明

  • 程序启动后优先展示欢迎语,严格按顺序引导用户录入待分析星系数目、各星系行星数量、每颗行星年度收入,无额外冗余交互
  • 所有统计逻辑完全对齐要求:
    • 行星总数量为所有录入星系的行星数累加值
    • 单星系平均行星数=行星总数量/待分析星系数目
    • 行星平均收入=全量行星收入总和/行星总数量
    • 星系平均收入=全量行星收入总和/待分析星系数目
    • 星系收入区间分布以单星系平均收入为统计依据,区间边界完全匹配给定规则
  • 单轮统计完成后自动触发循环询问,仅当用户输入no时输出致谢语终止程序,其余输入将开启新一轮象限分析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 02:51:26