Skip to content

Commit

Permalink
added exercise 3 for week 2
Browse files Browse the repository at this point in the history
  • Loading branch information
Gudkat committed Nov 9, 2023
1 parent 3023e69 commit c8de6ee
Show file tree
Hide file tree
Showing 5 changed files with 213 additions and 28 deletions.
29 changes: 29 additions & 0 deletions .pylintrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
[MASTER]

ignore=tests

[MESSAGE CONTROL]

disable=raw-checker-failed,
bad-inline-option,
locally-disabled,
file-ignored,
suppressed-message,
useless-suppression,
deprecated-pragma,
use-symbolic-message-instead,
missing-module-docstring,
missing-function-docstring,
missing-class-docstring

[FORMAT]

max-line-length=80
max-nested-blocks=2
max-statements=15
max-module-lines=100
single-line-if-stmt=true

[REFACTORING]

[DESIGN]
124 changes: 123 additions & 1 deletion poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ python = "^3.10"
[tool.poetry.group.dev.dependencies]
pytest = "^7.4.2"
coverage = "^7.3.2"
pylint = "^3.0.2"

[build-system]
requires = ["poetry-core"]
Expand Down
81 changes: 58 additions & 23 deletions src/index.py
Original file line number Diff line number Diff line change
@@ -1,58 +1,93 @@
from varasto import Varasto


def main():
mehua = Varasto(100.0)
olutta = Varasto(100.0, 20.2)
def tiedot_varastosta(varasto: Varasto):
print(f"saldo = {varasto.saldo}")
print(f"tilavuus = {varasto.tilavuus}")
print(f"paljonko_mahtuu = {varasto.paljonko_mahtuu()}")

print("Luonnin jälkeen:")
print(f"Mehuvarasto: {mehua}")
print(f"Olutvarasto: {olutta}")

print("Olut getterit:")
print(f"saldo = {olutta.saldo}")
print(f"tilavuus = {olutta.tilavuus}")
print(f"paljonko_mahtuu = {olutta.paljonko_mahtuu()}")
def status_tulostus(lista: list):
for tup in lista:
print(f"{tup[0]}: {tup[1]}")


def varaston_muokkaus(varasto, muokkaus, maara, varaston_nimi):
if muokkaus == "lisaa":
varasto.lisaa_varastoon(maara)
print(f"Lisätään {maara}")
elif muokkaus == "ota":
varasto.ota_varastosta(maara)
print(f"Otetaan {maara}")
print(f"{varaston_nimi}: {varasto}")


def tulosta_varasto(alku, lisays=0):
varasto = Varasto(alku, lisays)
tuloste = f"Varasto({alku}"
if lisays:
tuloste += f", {lisays}"
tuloste += ")"
if not lisays:
tuloste += ";"
print(tuloste)
print(varasto)

print("Mehu setterit:")
print("Lisätään 50.7")
mehua.lisaa_varastoon(50.7)
print(f"Mehuvarasto: {mehua}")
print("Otetaan 3.14")
mehua.ota_varastosta(3.14)
print(f"Mehuvarasto: {mehua}")

def tulosta_virhetilanteet():
print("Virhetilanteita:")
print("Varasto(-100.0);")
huono = Varasto(-100.0)
print(huono)
tulosta_varasto(-100.0)
tulosta_varasto(100.0, -50.7)

print("Varasto(100.0, -50.7)")
huono = Varasto(100.0, -50.7)
print(huono)

def olut1(olutta: Varasto):
print(f"Olutvarasto: {olutta}")
print("olutta.lisaa_varastoon(1000.0)")
olutta.lisaa_varastoon(1000.0)
print(f"Olutvarasto: {olutta}")


def mehu1(mehua: Varasto):
print(f"Mehuvarasto: {mehua}")
print("mehua.lisaa_varastoon(-666.0)")
mehua.lisaa_varastoon(-666.0)
print(f"Mehuvarasto: {mehua}")


def olut2(olutta: Varasto):
print(f"Olutvarasto: {olutta}")
print("olutta.ota_varastosta(1000.0)")
saatiin = olutta.ota_varastosta(1000.0)
print(f"saatiin {saatiin}")
print(f"Olutvarasto: {olutta}")


def mehu2(mehua: Varasto):
print(f"Mehuvarasto: {mehua}")
print("mehua.otaVarastosta(-32.9)")
saatiin = mehua.ota_varastosta(-32.9)
print(f"saatiin {saatiin}")
print(f"Mehuvarasto: {mehua}")


def main():
mehua = Varasto(100.0)
olutta = Varasto(100.0, 20.2)

print("Luonnin jälkeen:")
status_tulostus([("Mehuvarasto", mehua), ("Olutvarasto", olutta)])
print("Olut getterit:")
tiedot_varastosta(olutta)

print("Mehu setterit:")
varaston_muokkaus(mehua, "lisaa", 50.7, "Mehuvarasto")
varaston_muokkaus(mehua, "ota", 3.14, "Mehuvarasto")
tulosta_virhetilanteet()
olut1(olutta)
mehu1(mehua)
olut2(olutta)
mehu2(mehua)


if __name__ == "__main__":
main()
6 changes: 2 additions & 4 deletions src/varasto.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
class Varasto:
def __init__(self, tilavuus, alku_saldo = 0):
def __init__(self, tilavuus, alku_saldo=0):
if tilavuus > 0.0:
self.tilavuus = tilavuus
else:
Expand All @@ -16,7 +16,7 @@ def __init__(self, tilavuus, alku_saldo = 0):
# täyteen ja ylimäärä hukkaan!
self.saldo = tilavuus

# huom: ominaisuus voidaan myös laskea. Ei tarvita erillistä kenttää viela_tilaa tms.
# huom: ominaisuus voidaan laskea. Ei tarvita kenttää viela_tilaa tms.
def paljonko_mahtuu(self):
return self.tilavuus - self.saldo

Expand All @@ -43,5 +43,3 @@ def ota_varastosta(self, maara):

def __str__(self):
return f"saldo = {self.saldo}, vielä tilaa {self.paljonko_mahtuu()}"

#Turha muutos

0 comments on commit c8de6ee

Please sign in to comment.