Tässä vielä toinen samanlainen tehtävä kuin eilisen (ks. nettipäiväkirja 24.11.2015): joukko-opilliset numerot. Tee ohjelma, joka ottaa komentoriviltä luvun n ja tulostaa lukujen 0..n joukko-opilliset esitysmuodot, yhden luvun yhdelle riville.
Joukko-opissa kokonaislukuja esitetään yleensä joukkoina, joiden jäseniä ovat kaikki kyseistä lukua pienemmät luvut (nollasta lähtien). Luku 0 on siis tyhjä joukko {}, koska nollaa pienempiä lukuja ei ole, luku 1 on taas joukko, joka sisältää tyhjän joukon {{}}, koska ainoa ykköstä pienempi luku on 0, joka taas esitetään tyhjänä joukkona.
Tässä on esimerkki ohjelman toiminnasta (johon on lisätty muutama välilyönti wikimarkupin kiertämiseksi):
[pkalliok@platiby ~]$ python tmp/setnum.py 3 {} {{}} {{} {{}} } {{} {{}} {{} {{}} }}
Joukko-opillisesti ei ole tietenkään väliä, missä järjestyksessä joukon sisällä olevat jäsenet ovat, mutta määritetään nyt yksiselitteisyyden vuoksi, että luvut luetellaan pienimmästä suurimpaan (kuten yllä). Voit testata ohjelmasi tulosteen oikeellisuutta osoitteessa http://dy.fi/5ft