PROG0374 - Moons of planets

no tags 

Almost all planets of our solar system have a moon, except for the inferior planets Mercury and Venus. Outside our solar system, no moons have been discovered yet. 

Assignment

Write a function bundle to which a dictionary must be given. This dictionary portrays moons on the planet or dwarf planet around which they turn. The function must print a new dictionary as a result, that portrays planets and dwarf planets on a collection of moons that turn around them. 

Example

>>> bundle({'Harpalyke': 'Jupiter', 'Psamathe': 'Neptune', 'Cordelia': 'Uranus', 'Cupid': 'Uranus'})
{'Neptune': {'Psamathe'}, 'Jupiter': {'Harpalyke'}, 'Uranus': {'Cordelia', 'Cupid'}}

>>> bundle({'Farbauti': 'Saturn', 'Ananke': 'Jupiter', 'Sinope': 'Jupiter', 'Kalyke': 'Jupiter'})
{'Jupiter': {'Ananke', 'Sinope', 'Kalyke'}, 'Saturn': {'Farbauti'}}

>>> bundle({'Callisto': 'Jupiter', 'Adrastea': 'Jupiter', 'Helene': 'Saturn'})
{'Jupiter': {'Callisto', 'Adrastea'}, 'Saturn': {'Helene'}}

Bijna alle planeten van ons zonnestelsel hebben een maan, behalve de binnenplaneten Mercurius en Venus. Buiten ons zonnestelsel zijn er nog geen manen ontdekt.

Opgave

Schrijf een functie bundelen waaraan een dictionary moet doorgegeven worden. Deze dictionary beeldt manen af op de planeet of dwergplaneet waarrond ze draaien. De functie moet als resultaat een nieuwe dictionary teruggeven, die planeten en dwergplaneten afbeeldt op een verzameling van manen die errond draaien.

Voorbeeld

>>> bundelen({'Harpalyke': 'Jupiter', 'Psamathe': 'Neptunus', 'Cordelia': 'Uranus', 'Cupid': 'Uranus'})
{'Neptunus': {'Psamathe'}, 'Jupiter': {'Harpalyke'}, 'Uranus': {'Cordelia', 'Cupid'}}

>>> bundelen({'Farbauti': 'Saturnus', 'Ananke': 'Jupiter', 'Sinope': 'Jupiter', 'Kalyke': 'Jupiter'})
{'Jupiter': {'Ananke', 'Sinope', 'Kalyke'}, 'Saturnus': {'Farbauti'}}

>>> bundelen({'Callisto': 'Jupiter', 'Adrastea': 'Jupiter', 'Helene': 'Saturnus'})
{'Jupiter': {'Callisto', 'Adrastea'}, 'Saturnus': {'Helene'}}


Added by:Peter Dawyndt
Date:2013-04-08
Time limit:10s
Source limit:50000B
Memory limit:1536MB
Cluster: Cube (Intel G860)
Languages:PY_NBC
Resource:None