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/2
print 5./2