Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Jun 2005

[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.

Hej. Ge mig pengar

Trädvy Permalänk
Medlem
Plats
Linköping
Registrerad
Jun 2003

Du vill troligtvis ha en array.

(Om oändlig, lista.)

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Jun 2005
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?

Hej. Ge mig pengar

Trädvy Permalänk
Medlem
Plats
Umeå
Registrerad
Nov 2004

>>> 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

Trädvy Permalänk
Medlem
Plats
Stockholm
Registrerad
Jun 2005
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!

Hej. Ge mig pengar