Untitled
unknown
plain_text
a year ago
3.0 kB
1
Indexable
Never
# Tee tehtävän 3 ratkaisu tänne import os def tallenna_historia(laskutoimitus): with open('historia.txt', 'a') as tiedosto: tiedosto.write(f"{laskutoimitus}\n") def lue_historia(): historia = [] if os.path.exists('historia.txt'): with open('historia.txt', 'r') as tiedosto: for rivi in tiedosto: historia.append(rivi.strip()) return historia def laske_yhteenlasku(): luku1 = float(input("Anna luku: ")) luku2 = float(input("Anna luku: ")) tulos = luku1 + luku2 tallenna_historia(f"{luku1};+;{luku2};{tulos}") print(f"Tulos: {tulos}") def laske_vahennyslasku(): luku1 = float(input("Anna luku: ")) luku2 = float(input("Anna luku: ")) tulos = luku1 - luku2 tallenna_historia(f"{luku1};-;{luku2};{tulos}") print(f"Tulos: {tulos}") def laske_kertolasku(): luku1 = float(input("Anna luku: ")) luku2 = float(input("Anna luku: ")) tulos = luku1 * luku2 tallenna_historia(f"{luku1};*;{luku2};{tulos}") print(f"Tulos: {tulos}") def laske_jakolasku(): luku1 = float(input("Anna luku: ")) luku2 = float(input("Anna luku: ")) tulos = luku1 / luku2 tallenna_historia(f"{luku1};/;{luku2};{tulos}") print(f"Tulos: {tulos}") def nayta_historia(): historia = lue_historia() if len(historia) >= 1: print(f"Historiassa {len(historia)} tulosta:") for rivi in historia: operandi1, operaattori, operandi2, tulos = rivi.split(";") print(f" {operandi1} {operaattori} {operandi2} = {tulos}") if not historia: print("Historiatietoja ei saatavilla.") print() def tyhjenna_historia(): with open("historia.txt", "w") as tiedosto: tiedosto.write("") print("Historia tyhjennetty.") print() def nayta_toiminnot(): print("Toiminnot:") print("0 - ohjelman lopettaminen") print("1 - laske yhteenlasku (+)") print("2 - laske vähennyslasku (-)") print("3 - laske kertolasku (*)") print("4 - laske jakolasku (/)") print("5 - näytä historia") print("6 - tyhjennä historia") print("7 - näytä toiminnot") def suorita_nelilaskin(): print("Nelilaskin") historia = lue_historia() print(f"Historiassa {len(historia)} tulosta") nayta_toiminnot() while True: valinta = input("Valitse toiminto: ") if valinta == "0": print("Lopetetaan...") break elif valinta == "1": print("Yhteenlasku (+)") laske_yhteenlasku() elif valinta == "2": print("Vähennyslasku (-)") laske_vahennyslasku() elif valinta == "3": print("Kertolasku (*)") laske_kertolasku() elif valinta == "4": print("Jakolasku (/)") laske_jakolasku() elif valinta == "5": nayta_historia() elif valinta == "6": tyhjenna_historia() elif valinta == "7": nayta_toiminnot() print() suorita_nelilaskin()