Untitled
unknown
plain_text
3 years ago
3.0 kB
9
Indexable
# 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()
Editor is loading...