Lista elemeinek összehasonlítása?
Az a feladat, hogy pytonban bekérünk egy szöveget, és megmondjuk, hogy melyik karakterből mennyi van.
Nem értem, hogy a lista elemeit összehasonlítani miért nem engedi ilyen módon?
lista=[]*10
szo=str(input())
i=0
a_db=0
szo_vagott=szo.split(" ")
lista.append(szo_vagott)
for i in range(0,len(lista)):
if(lista[i]==lista[i+1]):
a_db+=1
i+=1
print(a_db)
Azért mert a programod teljesen nonszensz.
1.
lista=[]*10
Ennek mi értelme van?
2.
i=0
Ezt miért inicializálod itt?
3.
szo_vagott=szo.split(" ")
Miért darabolod fel szavakra a szöveget?
4.
lista.append(szo_vagott)
for i in range(0,len(lista)):
Miért nem a karaktereken iterálsz?
5.
if(lista[i]==lista[i+1]):
Miért hasonlítod össze a jelenlegi karaktert a következővel? Ez ráadásul az utolsóra hibát is fog dobni.
szo=str(input())
chars={}
for c in szo:
if (c not in chars):
chars[c]=1
else:
chars[c]+=1
for c in chars:
print("%c: %d" % (c, chars[c]))
Kezdők hibája...az optimizmus.
Bocsánat, hogy reménykedtem...
Használj dictionary-t.
Végigmész a szövegen. Ha a karakter nem kulcs, akkor hozzáadsz a dictionary-hez egy karakter, 1 párt. Ha a karakter kulcs, akkor megnöveled a hozzá tartozó értéket eggyel. Mire a szöveg végére érsz, a dictionary tartalmazza, hogy miből mennyi van.
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!