[Python] Flytande variabelnamn

Permalänk

[Python] Flytande variabelnamn

Fick i uppgift att göra ett husdjursprogram. Uppgiften (tl;dr-versionen) vill att man ska göra en husdjurs-class och sen ett objekt för den. Men om jag vill ha flera?

Jag gjorde en trevlig liten meny (i stilen med "Press 1 to spawn a new pet") för den, men koden för att bestämma objektnamnet (pet1 = husdjur('bob','ninja',42 -- fast med raw_input) blev klumpigt och inte alls så jag ville ha det. Hur ska jag göra om jag till exempel vill att husdjuren ska heta "pet1", nästa "pet2" osv till synes i oändligheten, så jag inte behöver skapa upp objekten innan?

Blev lite luddigt, skrik om det behövs bättre förklaring.

Visa signatur

Hej. Ge mig pengar

Permalänk
Medlem

Du vill troligtvis ha en array.

(Om oändlig, lista.)

Permalänk
Citat:

Ursprungligen inskrivet av robino_
Du vill troligtvis ha en array.

(Om oändlig, lista.)

Complete nublet här, skulle du kunna tänka dig att ge mig ett exempel?

Visa signatur

Hej. Ge mig pengar

Permalänk
Medlem

>>> pets = [] # "oändlig" lista av husdjur >>> pet = husdjur('bob', ....) # skapa ett nytt djur >>> pets.append(pet) # och lägg till det i listan >>> pet = husdjur('alice', ....) # skapa ett till >>> pets.append(pet) # in i listan ... >>> print pets[0].hamta_namn() # första husdjuret som las till är pets[0] bob >>> print pets[1].hamta_namn() alice

Permalänk
Citat:

Ursprungligen inskrivet av e5150

>>> pets = [] # "oändlig" lista av husdjur >>> pet = husdjur('bob', ....) # skapa ett nytt djur >>> pets.append(pet) # och lägg till det i listan >>> pet = husdjur('alice', ....) # skapa ett till >>> pets.append(pet) # in i listan ... >>> print pets[0].hamta_namn() # första husdjuret som las till är pets[0] bob >>> print pets[1].hamta_namn() alice

Ja så det går att spara det som ett listvärde! Tack!

Visa signatur

Hej. Ge mig pengar