Olen ihan vasta-alkaja Pythonissa eli joku 2 vkoa sitten asennettu Python ja PyCharm. Ohjelmointikokemusta ei muuten mutta Delphi 3 tuli joskus oliko Mikrobitissä vai Kompuutterissa ja sillä tein aika paljonkin yksinkertaisia tilasto-ohjelmia. Loppui joskus 2005 seudussa Delphin käyttö.
Olen tehnyt joitakin yksinkertaisia ohjelmia ja viimeisin on sellainen, joka on eräänlainen tekstimuotoinen urheilupeli. Siinä syötän nimiä jotka menee listaan. Tästä listassa olevilla urheilijoilla on muuttujia (esim. nimi, ikä, taito-ominaisuus, kestävyysominaisuus yms. numeerisesti ilmaistavaa).
Ohjelma laskee ennakkoon asetettujen tiettyjen arvojen, yksilöllisten muuttujien ja olosuhdemuuttujien sekä osittaisen randomisaatiokertoimien avulla tuloksia.
Laskutoimitukset tapahtuu loopin kautta ja ohjelma printtaa nimen ja määrätyt muuttujat. Tuloksena on formatin avulla kauniit rivit ja kolumnit jotka on ihan oikein paikoillaan. Eli ohjelma toimii sinällään niin kuin tarkoitettu.
Haluaisin kuitenkin että nämä printatut rivit järjestyisi tiettyjen kolumnien mukaan. Onko tähän järkevää keinoa. Nämä tiedot ei siis ole enää listassa. Rivejä tulee niin paljon että ihan vertailemalla eri rivejä en rupea tekemään.
Tavoitteet ei ole korkealla vaan ihan omaksi huvikseni ohjelmoin niin kuin varmaan huomaatte.
Ei tuohon kai oikein muuta fiksua tapaa ole kuin tallentaa urheilijan tiedot dictionaryyn ja urheilijat listaan. Lajittelet listan urheilijan tiedot tallentavan dictionaryn halutun avaimen mukaan ja sitten tulostat lajitellun listan.
Esim.
data = [ { 'name': 'jalle', 'age': 39 }, { 'name': 'palle', 'age': 5 }, { 'name': 'kalle', 'age': 21 } ] def sortName(m): return m['name'] def sortAge(m): return m['age'] data.sort(key = sortName) print(data) data.sort(key = sortAge) print(data)
Kiitos, onnistui noin, jouduin jkv mulkkaamaan ohjelmaa, koska alun perin rakennettu erilailla.
Aihe on jo aika vanha, joten et voi enää vastata siihen.