CHEM-A2600 - Kemiantekniikan ohjelmointikurssi, Luento-opetus, 4.9.2023-1.12.2023
This course space end date is set to 01.12.2023 Search Courses: CHEM-A2600
Python-oppimateriaali (CHEM-A2600)
Completion requirements
Monikot
Emme käytä paljon aikaa monikkojen käsittelyyn, sillä tämän kurssin puitteissa meille riittää tieto, että monikko on muuten kuin lista, mutta sitä ei voi muokata:
# Monikko määritellään siis tavallisilla sulkeilla jalokaasut = ("He", "Ne", "Ar", "Kr", "Xe", "Rn") # indeksi 0 1 2 3 4 5 # Monikon alkioihin viitataan hakasulkeilla print(jalokaasut[2]) # Tulostaa Ar # Seuraavat komennot ovat virheellisiä monikkojen tapauksessa jalokaasut[2] = "H" # TypeError: 'tuple' object does not support item assignment del jalokaasut[0] # TypeError: 'tuple' object doesn't support item deletion
Törmäämme monikkoihin lähinnä tilanteissa, joissa Python käyttää sisäisesti monikkoa tyyppinä. Esimerkiksi edellisessä kappaleessa esitelty zip-funktio tuottaa monikoita:
alkuaineet = ['H', 'C', 'O'] atomipainot = [1.008, 12.011, 15.999] alkuaine_monikot = zip(alkuaineet, atomipainot) print(list(alkuaine_monikot))
tulostaa
[('H', 1.008), ('C', 12.011), ('O', 15.999)]
Eli lista, jossa on kolme alkiota, joista jokainen on kahden alkion monikko. Käytännön esimerkki zip-funktion hyödyntämisestä tässä tapauksessa:
alkuaineet = ['H', 'C', 'O'] atomipainot = [1.008, 12.011, 15.999] for alkuaine, atomipaino in zip(alkuaineet, atomipainot): print(f"Alkuaineen {alkuaine:s} atomipaino on {atomipaino:.3f} g/mol")
tulostaa
Alkuaineen H atomipaino on 1.008 g/mol Alkuaineen C atomipaino on 12.011 g/mol Alkuaineen O atomipaino on 15.999 g/mol
Saman asian voisi hoitaa silmukkamuuttujaa käyttävällä for-silmukalla, mutta zip-funktio on tavallaan "luonnollisempi" tapa hoitaa asia Pythonissa.