Kezdőoldal » Számítástechnika » Programozás » Python lista kezelés?

Python lista kezelés?

Figyelt kérdés

Az a lényeg: hogy beírok szóköz elválasztásával egy számsort pl: 12 34 133. Ez azt jelenti, a kódolásban, hogy 12:34 kor 133 vendég volt az étteremben. Ezeket óra, perc és vendég listában kellene tárolni. El is kezdtem de nem tudom miért az a hiba ami.


Valaki tudna segíteni a megoldásban?


Ameddig eljutottam:


be=str(input())

ora=[]

perc=[]

seb=[]

uj=0

i=0

for i in range(1,10):

x=be.split(" ")

uj=x[i]

ora.append(uj)

i+=1


print(ora)



2018. szept. 28. 08:46
 1/9 anonim ***** válasza:

1) Legközelebb pastebin-re másold fel, vagy tagold utólag, mert python-nál igencsak fontos, hogy mi hova van behúzva.

2) A for gondoskodik a ciklusváltozó növeléséről.

3) Mi indokolja az 1-től 10-ig tartó for-t?

2018. szept. 28. 08:50
Hasznos számodra ez a válasz?
 2/9 anonim ***** válasza:
0%
Ez eddig szar.
2018. szept. 28. 08:52
Hasznos számodra ez a válasz?
 3/9 A kérdező kommentje:

Utolsó: nem mondod?? A te hozzá szólásod is szar.


Első: Tíznél több elem a listában úgysem fog kelleni, ezért gondoltam fixációt.

Hogyan csinálnád?

2018. szept. 28. 10:05
 4/9 sharkxxx ***** válasza:
39%

ORA='hour'

PERC='minute'

VENDEG='guest'

vendegek=[]

while True:

    be=str(input())

    x=be.split(" ")

    if (len(x) < 3):

        break

    m={}

    m[ORA]=x[0]

    m[PERC]=x[1]

    m[VENDEG]=x[2]

    vendegek.append(m)

for v in vendegek:

    print(str(v[ORA])+":"+str(v[PERC])+" - "+str(v[VENDEG]))

2018. szept. 28. 10:26
Hasznos számodra ez a válasz?
 5/9 anonim ***** válasza:
sharksz stílusa lenyűköző ment a thumbs up
2018. szept. 28. 17:37
Hasznos számodra ez a válasz?
 6/9 anonim ***** válasza:

Nem a listákkal van a bajod, hanem a ciklusokkal. Először is az i+1= a while ciklusban van. Gondolom, odáig tartana a behúzás, mert különben minek. Ahogy írták, a for ciklusban maga a for intézi. Egyet jegyezz meg egy életre: for cikluson belül a ciklusváltozó értékét változtatni olyan, mint nitroglicerines flakonnal szaladgálni.

Másodszor gondold végig, mit akartál csinálni.

A for előtti részekből az ora=[] kivételével semmi sem hasznosul, redundáns.

Ha nem lenne az utolsó sor, akkor kérne 10 stringet. Az elsőnél fogná az 2. (azaz 0-tól számolva 2.) részét, a percet, és betenné az uj változóba. A másodiknál kérné a létszámot, és azt tenné be. A harmadiknál kiakadna, mert nincs x[4]. De mivel növeled az i-t, ezért dupla sebességgel rohan a kiakadás felé, és el se jutsz 3-ig.

2018. szept. 29. 07:47
Hasznos számodra ez a válasz?
 7/9 anonim ***** válasza:
Gépelési hiba: "az 1. (azaz 0-tól számolva 2.) részét"
2018. szept. 29. 07:48
Hasznos számodra ez a válasz?
 8/9 anonim ***** válasza:

Megjegyzés: majd ne lepődj meg, ha a range(1,10) ciklus 1..9-ig fog futni. ;)

A range(n,m) így működik, n-től m-1-ig ad egy listát. Javaslat: range(10) # -> 0..9, ez 10 elem.

2018. szept. 29. 11:50
Hasznos számodra ez a válasz?
 9/9 anonim ***** válasza:

Én magát a ciklust sem értem, mert egyrészt a split egy listát ad vissza, az elemeit viszont különböző helyekre kell tenni. (Arra vigyázz, hogy a bevitelnél értékek között csak egy szóköz lehet.)

Írd meg, hogy pl. ehhez képest mi a cél:


ora=[]

perc=[]

seb=[]

x=str(input()).split(" ")

ora.append(x[0])

perc.append(x[1])

seb.append(x[2])

2018. szept. 29. 12:07
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!