skapa variabler med en växande variabel

Här diskuteras programmering och utveckling
Användarvisningsbild
Chippen
Inlägg: 1237
Blev medlem: 05 jun 2006, 18:15
Ort: Haninge Kommun

skapa variabler med en växande variabel

Inlägg av Chippen »

Tjo

Jag håller på att fippla lite med python och funderar på en grejj.

Jag har en while sats där i = i + 1
men sen vill jag att varje gång satsen upprepas så ska det skapas en variebel (eller snarare en tuppel) som heter något följt av i...tex stoli... men det blir ju förståss så att då skapas en tuppel som heter stoli varje gång och inte som jag vill tex stol1, stol2 osv... hur löser man detta?
Lars
Inlägg: 6191
Blev medlem: 14 jan 2007, 19:31
OS: Ubuntu
Utgåva: 22.10 Kinetic Kudu
Ort: Stockholm

SV: skapa variabler med en växande variabel

Inlägg av Lars »

Jag tror inte att det går i Python, men i t.ex. C kan man göra det med makron. En annan lösning är ju att skapa en lista av tupplar istället. Varför vill du ha flera variabler?
Användarvisningsbild
Chippen
Inlägg: 1237
Blev medlem: 05 jun 2006, 18:15
Ort: Haninge Kommun

SV: skapa variabler med en växande variabel

Inlägg av Chippen »

för att inte gå in på närmare detaljer läs (http://ubuntu-se.org/smf/index.php/topic,14379.0.html)

Jag har alltså 256 brickor och varje bricka vill jag gör till en tuppel med 4 värden... sen vill jag att varje bricka ska få namnet bricka(nummer)...

Nu håller jag bara på att prövar lite grejjer med tupplar och sådär efterosm jag inte har sysslat med det innan, jag är väldigt nybörjare... och säg inte åt mig att ge upp, jag räknar inte med att lyckas, men jag kan komma att lära mig mycket om jag försöker...

Kod: Markera allt

antal = input("hur manga brickor?")
i = 1
while i < antal:
    print "hur ser bricka", i, "ut?"
    i = i + 1
    b = 1
    sida1 = input("hur ser sida 1 ut?")
    sida2 = input("hur ser sida 2 ut?")
    sida3 = input("hur ser sida 3 ut?")
    sida4 = input("hur ser sida 4 ut?")
    brick1 = (sida1, sida2, sida3, sida4)
mitt problem är att den som heter brick1 måste ändra namn varje gång satsen körs...
Användarvisningsbild
Smygis
Inlägg: 849
Blev medlem: 21 jun 2006, 18:41
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Kramfors

SV: skapa variabler med en växande variabel

Inlägg av Smygis »

Ja det går. Hur som helst så skulle en lista vara betydligt mycket smidigare.

Kod: Markera allt

antal = input("hur manga brickor?")
i = 1
while i < antal:
    print "hur ser bricka", i, "ut?"
    i = i + 1
    b = 1
    sida1 = input("hur ser sida 1 ut?")
    sida2 = input("hur ser sida 2 ut?")
    sida3 = input("hur ser sida 3 ut?")
    sida4 = input("hur ser sida 4 ut?")
    exec("brick%d = (sida1, sida2, sida3, sida4)" % i)
Men jag rekomenderar en lista.
Senast redigerad av 1 Smygis, redigerad totalt 15 gånger.
A Foolish Consistency is the Hobgoblin of Little Minds.Beware: In C++, your friends can see your privates!
Användarvisningsbild
Chippen
Inlägg: 1237
Blev medlem: 05 jun 2006, 18:15
Ort: Haninge Kommun

SV: skapa variabler med en växande variabel

Inlägg av Chippen »

jag har aldrig sysslat med listor, hur funkar dem...

jag förstår inte sista raden... kan du förklara den?
Användarvisningsbild
Smygis
Inlägg: 849
Blev medlem: 21 jun 2006, 18:41
OS: Ubuntu
Utgåva: 24.04 Noble Numbat LTS
Ort: Kramfors

SV: skapa variabler med en växande variabel

Inlägg av Smygis »

Chippen skrev: jag har aldrig sysslat med listor, hur funkar dem...

jag förstår inte sista raden... kan du förklara den?
Strängformatering?

>>> print "Jag heter %s och jag älskar %s som jag har kört i ungefär %.2f år" % ("Robin", "ubuntu", 1.354927472)
Jag heter Robin och jag älskar ubuntu som jag har kört i ungefär 1.35 år
>>>


Ljusnar det?

Och med en lista blir det ungefär såhär:

Kod: Markera allt

antal = input("hur manga brickor?")
i = 1
bricks = [] 
while i <= antal:
    print "hur ser bricka", i, "ut?"
    sida1 = input("hur ser sida 1 ut? ")
    sida2 = input("hur ser sida 2 ut? ")
    sida3 = input("hur ser sida 3 ut? ")
    sida4 = input("hur ser sida 4 ut? ")
    bricks.append((sida1, sida2, sida3, sida4))
    i += 1
sedan kommer man åt de olika brickorna med att skriva bricks[n] där n är 0 <= n <= len(bricks)
A Foolish Consistency is the Hobgoblin of Little Minds.Beware: In C++, your friends can see your privates!
Användarvisningsbild
Chippen
Inlägg: 1237
Blev medlem: 05 jun 2006, 18:15
Ort: Haninge Kommun

SV: skapa variabler med en växande variabel

Inlägg av Chippen »

Hmm... jag läste om det där i min bok häromdan, men lade inte så mycket vikt vid det... jag ska läsa om det imorgon och återkommer :)
Skriv svar

Återgå till "Programmering och webbdesign"