moj maly skriptik hadze podivnu vynimku, pri ktorej ale nechapem ako vznikla.
Zdrojak:
def pocet_cifier(cislo, pomocna_premenna = 0):
c = cislo / 10
if c > 0 and c < 1:
return 1
if c >= 1 and c < 10:
return pomocna_premenna + 2
if c >= 10:
return pocet_cifier(c, pomocna_premenna + 1)
i = 0
docasny_vysledok = 0
print pocet_cifier(20)
print pocet_cifier(123)
while 1:
i += 1
docasny_vysledok += pocet_cifier(i)
if docasny_vysledok == 3609:
break
else:
continue
print "Hello world!"
print i
print "To funguje. :)"
Vystup:
2
3
Traceback (most recent call last):
File "program.py", line 17, in <module>
docasny_vysledok += pocet_cifier(i)
TypeError: unsupported operand type(s) for +=: 'int' and 'NoneType'
ako vidite, ked funkciu zavolam samostatnu a vypisem vysledok, ale ked s vysledkom pocitam akosi to nejde. mimochodom, je to riesenie prveho prikladu z korespodencneho seminara gjh (link). dakujem za kazdu radu.

k teme, chybu mas v tej funkcii, co ak ani jedna podmienka neplati? potom ti funkcia nevrati ziadnu hodnotu (+ tie podmienky su nejak divne)
Spravne by malo byt nieco ako:
./" .Vyskusaj si to:
print 5/2print 5./2