Frage : Benennen einer Pythonschlangemethode von einer Kategorie

Ich versucht, die Pythonschlange Doc. auf Kategorien zu lesen, erhalten Gegenstände und Datenmodelle aber ich noch sie nicht - ich annehme h, dass vorgerückte Programmierer Kategorien schreiben müssen, aber für, was ich in der Lage bin, zu tun, das Schreiben einer Kategorie scheint, Sachen schwieriger zu bilden, als sie be.

I morgens versuchend, ein Programm zu schreiben benötigen, das mich erfordert, einen Fall einer „Hunde“ Kategorie mit dem Namen des Hundes zu verursachen und als Argumente zu züchten, und den Gegenstand zur Hundeliste anfügen. Für jeden Benutzereingang auf dem Namen und der Brut, sollte die gegenwärtige Hundeliste den Namen und die Brut jedes Hundes, Beispiel drucken:
#DOGS
0. Snoopy: Beagle
1. Marmaduke: Großes Dane
2. Rover: Mutt

I kann nicht herausfinden, wie man die Funktion benennt, also bin ich nicht sicher, wenn das Problem mit der Weise ist, die ich versuche, die Funktion oder die Weise zu benennen, die ich den Methoden in die Kategorie geschrieben. Etwas von der Anleitung war ziemlich spezifisch, z.B. sollte die init () Methode zwei Parameter, Name und Brut, zusätzlich zum impliziten Selbst nehmen.  

I kopiert die Störungen unten mit dem beleidigencode, und ich verstehe nicht die Störungen (wenn ich tat, annehme mich h, dass ich dieses regeln könnte).
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
6:
37:
38:
class Hund:

    def __init (Selbst-, Name, Brut):
        self.name = „Hundename“
        self.breed = „Hundebrut“
        self.dog_list = []

    #, weil „Hunde“ im add_dog (** Hunde) undefined ausfielen,  
    # nicht sure, warum…
    def keywords_as_dict (** Hunde):
        Rückholhunde
       
    def add_dog (** Hunde):
	wenn zutreffend:
            Versuch:
                Name = raw_input („Hundenamen eintragen: ")
                Brut = raw_input („Hundebrut anmelden: ")

    		für Namen Brut in dogs.items ():
            	    my_dog = (name.capitalize () + „: “ + breed.capitalize ())
                    Druck (my_dog)
                    dog_list.append (my_dog)
	    
	    ausgenommen Namens== '':
                Druck („, Programm herausnehmend ")

        Rückholhunde, dog_list
                           
wenn __name == „__main“:
    null = Hund (name='Lassie', breed='Retriever') # oder 
    ein = Hund („Mädchen“, „Apportierhund ")
    Druck (null, einer) 
    # Fall der Drucke <__main__.Dog an etwas hex code> für jedes
    Dog.add_dog (eins) # Art Störung, Methode nimmt args 0 
    Dog.add_dog () # oder
    Dog.add_dog („doof“, „Köter ") # oder 
    Dog.add_dog (name='Goofy', breed='mutt') # Art Störungen,
    # befreite Methoden muss mit Kategorienfall als Argument zuerst benannt werden

Antwort : Benennen einer Pythonschlangemethode von einer Kategorie

Linie 8 stellt nicht einen „Hund“ her

anstelle von:

my_dog = (name.capitalize () + „: “ + breed.capitalize ())

Sie benötigen etwas wie:

my_dog = Hund (name.capitalize (), breed.capitalize ());

Wie über etwas mögen:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
Kategorie Hund ():
  def __init (Selbst-, Name, Brut):
    self.name = Name;
    self.breed = Brut;
  def getName (Selbst):
    Rückholself.name;
  def getBreed (Selbst):
    Rückholself.breed;

wenn __name == „__main“:
  Hundehütte = [];             # eine leere Liste der Hunde erstellen
  wenn zutreffend:
    Name = raw_input („Name: ").strip ();
    wenn Name:
      Brut = raw_input („Brut: ").strip ();
      wenn Brut:
        kennel.append (Hund (name.capitalize (), breed.capitalize ()));
    sonst:
      Bruch;
  Druck „\ nDogs: \ n“ + („-“ * 40);
  für i in der Strecke (len (Hundehütte)):
    Hund = Hundehütte [i];
    Druck „%d. %s: %s“ % (i, dog.getName (), dog.getBreed ());

sonst:
  Druck „Störung - diesen Index durchführen, importieren ihn nicht. \ n“;
  Druck „Pythonschlange %s.py“ % __name;
Weitere Lösungen  
 
programming4us programming4us