Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / School & Studie / Huiswerkvragen: Exacte vakken
Reageren
 
Topictools Zoek in deze topic
Oud 06-03-2008, 08:53
trippV
Ik heb een programma geschreven met classen. Nu heb ik dus de classe huisdieren, en daaromder de subclasse katten. De opdracht is dat je een aantal katten invoerd en deze kan oproepen. Maar nu zijn er 2 dingen die niet helemaal goed werken, en ik weet niet waarom.

Deel 1
Code:
# We roepen een kat aan. 

invoer = raw_input("Roep een kat: ") 

# Nu heb ik dus ook een kat in geprogrammerd. 
# Voorbeeld kat is moortje. 

if invoer == moortje:
    print "De kat komt eraan gelopen." 
else:
    print "Deze kat woont niet in dit huis, misschien bij de buren?"
--> Maar elke keer als ik moortje invul, dan krijg ik: Deze kat woont niet in dit huis, misschien bij de buren?
--> Ik snap niet waarom hij dat doet.

Deel 2

Dit is mijn hoofdclasse:

Code:
class Huisdier(object):
    def _init_(self, naam, leeftijd, geslacht, kleur, gewicht):
        self.naam = naam
        self.leeftijd = leeftijd
        self.geslacht = geslacht
        self.kleur = kleur
        self.gewicht = gewicht

# En een kat die ik heb aangemaakt: 

moortje = ("Moortje", "18 jaar", "Poes", "Zwart", "1,9 kg") 

# Nu wil ik dus dat als ik de kat moortje aanroep dat ik dan zo'n lijst krijg:
Moortje
18 jaar
Poes
Zwart
1,9 kg

--> Maar hij print gewoon: ('Moortje', '18 jaar', 'Poes', 'Zwart', '1,9 kg')

Kan iemand helpen?

Laatst gewijzigd op 06-03-2008 om 19:32. Reden: codetags
Met citaat reageren
Advertentie
Oud 06-03-2008, 19:46
ILUsion
Avatar van ILUsion
ILUsion is offline
Let een beetje op je opmaak, in het vervolg. Zeker voor Python-code zijn de [code][/code]-tags onontbeerlijk!

Goed, wat er mis is met je code:

je moet moortje als volgt aanmaken:
Code:
moortje = Huisdier( ... )
Waarbij je die puntjes vervangt door de parameters van je constructor (zoals geschreven in jouw code). Wat je in jouw code verkeerd doet: daar maak je een Tuple (als je niet weet wat dit is: een soort statische lijst) aan met daarin Strings.

Verder, om te laten printen moet je ook de method/functie/procedure __str__(self) definiëren. (dus met def __str__(self): ....). Die laat je een string returnen die dient voor de weergave. Een regeleinde geef je weer met \n trouwens.

Bij het aanroepen doe je trouwens nog iets mis: je kijkt of naam == moortje. Maar moortje is een object van de klasse huisdier (subklasse kat zie ik nergens in je code), die kan nooit gelijk zijn aan een str. Hoewel je in dit geval waarschijnlijk door het toevoegen van die method __str__ ervoor zorgt dat hij wel kan checken, maar dat je dan alles exact hetzelfde moet ingeven. Waarop je moet controleren is dit: naam == moortje.naam.
__________________
vaknar staden långsamt och jag är full igen (Kent - Columbus)
Met citaat reageren
Oud 10-03-2008, 12:50
Tripp
Avatar van Tripp
Tripp is offline
thanks
__________________
They say it is for the commen good.
But good, is not the same as right.
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar

Soortgelijke topics
Forum Topic Reacties Laatste bericht
Huiswerkvragen: Exacte vakken [INF] Python - def Inlezen()
TrippV
4 15-09-2008 09:48
Huiswerkvragen: Exacte vakken [INF-python] Opslaan met Gui
Gast86
1 29-05-2008 13:33
Huiswerkvragen: Exacte vakken [INF] Python, fout in script.
TrippV
4 19-05-2008 02:44
Huiswerkvragen: Exacte vakken [INF] Link invoeren in python.
Tripp
5 29-04-2008 18:17
Software & Hardware [Centraal] Spy-, adware & virussen [4]
M@rco
500 01-12-2006 11:27
Huiswerkvragen: Exacte vakken [INF] Python
snookdogg85
7 27-01-2005 21:43


Alle tijden zijn GMT +1. Het is nu 06:15.