Iterációkat tanulunk a suliban és a while utasításhoz ezt a feladatot kaptam, a mellékelt megoldással, de ez sehogy sem jó, vagy csak én nem értem?
Feladat Python:
Kérjünk be a konzolról egy számot és írjuk ki a jegyeinek a számát!
És ez a megoldása a példának a könyv szerint:
szam=int(input('Szám?'))
seged=szam
jegySzam=0
while( seged !=0):
seged=seged/10
jegySzam=jegySzam+1
print (szam, 'jegyeinek száma: ',jegySzam)
Mi nem működik?
A while utáni sorban 4 szóközzel beljebb kezdődnek a sorok?
Továbbá az utolsó print parancs előtt kell egy üres sornak lennie, hiszen az már nem tartozik a ciklusba
szam = int(input("Szám?"))
seged = szam
jegySzam = 0
while(seged != 0):
seged = seged / 10
jegySzam += 1
print(szam, 'jegyeinek szama: ', jegySzam)
A könyv bizonyára 2-es verziójú Python-hoz készült, te meg 3-asat használsz.
Volt közben egy változás: az osztás operátor (/) régen integer-t (egész számot) csinált, a 3-asban pedig float-ot (lebegőpontosat). Szóval pl. 43/10 régen 4 volt, most 4.3
Van viszont dupla-per-jeles osztás operátor (//), ami mindkét verzióban integer osztást csinál, írd át olyanra.
seged = seged // 10
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!