Python zoznamy

Programovacie jazyky, rady, poradňa...
black evil
Light Star
Light Star
Príspevky: 243
Registrovaný: 30 sep 2011, 22:26

Python zoznamy

Príspevok od používateľa black evil »

Ahojte, zase Vás otravujem, no narazil som na menší problém. Učím sa programovať v Pythone pomocou kurzu či seriálu na http://programujte.com. No som na 8 lekcii, a tam sú zoznamy, za úlohu mám vytvoriť zoznam do ktorého si bude užívateľ môcť ukladať meno, číslo plus ja som to doplnil ešte o adresu. Chápem tomu, no mám problém.
Syntax ,začiatok a hned chyba:

Kód: Vybrať všetko

print "Ahoj, tu telefony seznam"
zoznam1 = []
zoznam2 = []
zoznam3 = []
klienti_pocet = input("Kolkym klientom chces zadat udaje? : ")

for x in range(klienti_pocet):
    meno = raw_input ("Ako sa vola tvoj klient? : ")
    cislo = input ("Ake ma tvoj klient telefone cislo? : ")
    miesto = raw_input ("Kde byva? : ")
    zoznam1.apend (meno)
    zoznam2.apend (cislo)
    zoznam3.apend (miesto)    

print zoznam1 #Toto je len na to že či funguje program,no presnejšie zoznam
print zoznam2
print zoznam3
Výstup je:

Kód: Vybrať všetko

Ahoj, tu telefony seznam
Kolkym klientom chces zadat udaje?: 3
Ako sa vola tvoj klient? : Skuška
Ake ma tvoj klient telefone cislo? : 9999
Kde byva? : PC
Traceback (most recent call last):
File "/home/black/Zoznam.py", line 11, in <module>
zoznam1.apend (meno)
AttributeError: 'list' object has no attribute 'apend'


Ja si myslim ,že prikaz apend je na staršej verzii Pythonu, ja som na 2.7. No druha možnosť je ,že som debil.
metthal
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2475
Registrovaný: 26 jan 2006, 18:32
Bydlisko: Nitra / Brno

Re: Python zoznamy

Príspevok od používateľa metthal »

append, nie apend
black evil
Light Star
Light Star
Príspevky: 243
Registrovaný: 30 sep 2011, 22:26

Re: Python zoznamy

Príspevok od používateľa black evil »

-=wolf=- napísal:append, nie apend
Dakujem, moja nepozornosť:))
Karma +.
A túto tému môžte :lock: a presunúť.

//autoeditácia príspevku (22 Jan 2012, 11:34)
Ta ešte ju nezatvarajte.
No som stále na zoznamoch a mám další problém.
No, používateľ si záda meno klienta, jeho číslo a adresu. Všetko sa uladá do 3 rôzdnych zoznamov.
Ako mám spraviť tak aby sa tieto zoznamy spojily, no ta aby sa údaje nepomiešaly, čiže z prveho zoznamu [0] index ,z druheho zoznamu [0] index a......., tak aby bol jeden zoznam v ktorom bude zoznam a indexi [0],[0], bundu z nulamy, [1],[1] bude vypisovať s jednotkamy......a okrem toho to zoradí podľa abecedy,tie mená, no čísla a adresy nechá tak ako sa priradia.
Neviem či ste ma pochopily, ale dúfam že hej.

Kód: Vybrať všetko

print "Ahoj, tu Telefony seznam"
zoznam1 = []
zoznam2 = []
zoznam3 = []


klienti_pocet = input("Kolkym klientom chces zadat udaje? : ")

for x in range(klienti_pocet):
    print
    meno = random.randint (1,1000)
    cislo = random.randint (1000,2000)
    bydlisko = random.randint (3000,4000)
    meno = raw_input ("Ako sa vola tvoj klient? : ")
    cislo = raw_input ("Ake ma tvoj klient telefone cislo? : ")
    bydlisko = raw_input ("Kde byva? : ")
    
    zoznam1.append (meno)
    zoznam2.append (cislo)
    zoznam3.append (bydlisko)

#Sem treba dať niečo to to dá do jedného zoznamu, a dodrží podmienky.

    
    
    
print "--------------------------------------------------------------------"
print "Tvoj novy zoznam klientov"
print "____________________________"
print "MENO    TELEFONE MIESTO"
print "        ČÍSLO    POBYTU"
print "____________________________"
 

Tu neviem že čo.
A aby bol vystup:

Ahoj, tu telefony seznam.
Kolkym klientom chces zadat udaje ?: 3
Ako sa vola tvoj klient? : Jozef
Ake ma tvoj klient teefone čislo ?: 0900234768
Kde byva?: Bratislava #Pričom je toto ciklus a udajov zada toľko koľko chce.
-------------------------------------------
Tvoj novy zoznam klientov
________________________________
MENO TELEFONE MIESTO
ČÍSLO POBYTU
________________________________
Jozef : 0900234768 : Bratislava
......... : .................... : ...............
Atd.


Už som to 100x menil, no bud to dá do jedného zoznamu, no potom je to poprehádzané, alebo to uloží do jedného zoznamu, no uloží tam, len to čom som zadával ao posledne, lebo stale prepíše zoznam.
Toto je najťažšia lekcia, na ktorej som bol:/
xadman
Medium Star
Medium Star
Príspevky: 305
Registrovaný: 09 mar 2011, 17:02

Re: Python zoznamy

Príspevok od používateľa xadman »

Keď to appenduješ, stačí ti jeden zoznam a tam nasúkaj
zoznam.append([meno, cislo, bydlisko])

A keď to chceš vypísať

Kód: Vybrať všetko

for clovek in zoznam:
    print clovek
alebo

Kód: Vybrať všetko

for clovek in zoznam:
    print clovek[0] clovek[1] clovek[2]
black evil
Light Star
Light Star
Príspevky: 243
Registrovaný: 30 sep 2011, 22:26

Re: Python zoznamy

Príspevok od používateľa black evil »

No díky, idem to o chvíľu skusiť :)

//autoeditácia príspevku (22 Jan 2012, 22:07)
Dakujem, potom ti zvyšim karmu, to s tym append by ma asi nenapadlo :D
Napísať odpoveď