Загрузка данных


import json

with open("galaxy.txt", "r", encoding="utf-8") as file:
    data = json.load(file)

print(data['empire'])

for g in data['galaxies']:
    for s in g['systems']:
        if s['name'] == 'Solaris':
            s['planets'].append({
                'name': 'Magma',
                'resources': {
                    'metal': 400,
                    'crystals': 10
                }
            })

metal = 0
crystals = 0

for g in data['galaxies']:
    for s in g['systems']:
        print(g['name'], "->", s['name'])
        for p in s['planets']:
            print("  ", p['name'])
            metal += p['resources']['metal']
            crystals += p['resources']['crystals']
            if p['name'].lower() == 'volcan':
                print("Найдено:", p['name'])

print(f"Металл: {metal}, Кристаллы: {crystals}")

for g in data['galaxies']:
    for s in g['systems']:
        if 'fleets' in s:
            for f in s['fleets']:
                print(f['name'], f['ships'])

for tech in ['Shield Generators', 'Laser Weapons']:
    if tech not in data['empire']['technologies']:
        data['empire']['technologies'].append(tech)

with open("galaxy_result.json", "w", encoding="utf-8") as f:
    json.dump(data, f, ensure_ascii=False, indent=4)