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.

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?

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!