Visa version
Version skapad av Linda Kann 2013-01-30 11:54
Läxa 3 (förberedlese för labb 4)
I labb 4 ska du skriva ett program som använder en klass som du själv hittat på. Förberedelser:
- Läs Kap 8 i (om klasser) i kursboken.
- Gå igenom och provkör husdjursprogrammet (se nedan) så att du förstår hur det fungerar.
- Skriv sedan en egen klass (tillsammans med din gruppkompis) med minst fem attribut och metoder.
#################################################################
##################### klassen Husdjur #########################
#################################################################
class Husdjur(object):
""" Ett virtuellt husdjur """
def __init__(self, djurnamn):
"""Konstruktorn"""
self.namn = djurnamn
self.glad = 0
self.hunger = 0
def __str__(self):
sträng = self.namn
sträng += ", " + str(self.glad)
sträng += ", " + str(self.hunger)
return sträng
def visaStatus(self):
"""Visar husdjurets namn och hur det mår."""
print("\n", self.namn, "är ",end="")
if self.glad > 0 and self.hunger < 3:
print("glad: (^_^)")
else:
print("ledsen: (T_T)")
def banna(self):
"""Ger husdjuret bannor. glad minskas."""
print("\n - Fy på dig", self.namn, "!")
self.glad -= 3
def mata(self, mat):
"""Ger husdjuret mat. hunger minskas."""
for i in range(mat):
print("GLUFS",end=" ")
self.hunger -= mat
def leka(self):
"""Leker med husdjuret. glad och hunger ökar"""
self.glad += 1
print("\n~~~~~~~~~~~ WHEEEEEEE! ~~~~~~~~~~~")
self.hunger += 1
def avsked(self):
"""Skriver ut avskedet."""
print("Hejdå,", self.namn, "kommer att sakna dig!")
################################################################
############################ funktioner ########################
################################################################
def utskriftstest(djur):
"""Testar olika sätt att skriva ut objektet"""
print("------------ Test av utskrifter -----------")
print("Anropar visaStatus: ", end = "")
djur.visaStatus()
print("Anropar __str__: ", end = "")
print(djur)
print("Anropar type: ", end = "")
print(type(djur))
print("-------------------------------------------")
def skötsel(djur):
"""Meny för djurskötsel"""
svar = input(" Vill du \n banna \n mata \n leka med \n ditt husdjur? " )
while svar:
if svar[0]=="m":
bullar = int(input("Hur många bullar? "))
djur.mata(bullar)
elif svar[0]=="b":
djur.banna()
elif svar[0]=="l":
djur.leka()
else:
print("Hursa? ")
djur.visaStatus()
print(djur)
svar = input(" Vill du \n banna \n mata \n leka med \n ditt husdjur? " )
def main():
djurnamn = input("Vad vill du döpa ditt husdjur till? ")
djur = Husdjur(djurnamn)
utskriftstest(djur)
skötsel(djur)
djur.avsked()
main()