Jitahidi kutumia if na else sio if peke yake.
Alafu kosa lako angalia mwishoni kwenye gharama. Kwanza print umetumia %s, gharama hairudishi string, inarudisha int, even though sawa python doesn't care.
ila jibu kwa nini haliji sawa angalia after printing hapo chini umeanza if gharama<10000
sasa umesahau kua gharama ni function na sio variable?? Function inahitaji arguments upitishe na sio kuassume kua ukiita mara moja then inageuka kua variable.
Inatakiwa udeclare variable ambayo itatunza jibu linalokua returned na hiyo function yako ya gharama then tumia hiyo variable kufanya comparison unazotaka
Code:
//store jibu linatokua returned kutoka kwenye function ya gharama into variable jumla.
jumla = gharama(asubuhi, mchana, usiku)
//Print %d kwa kua ni integers, sawa %s ingefanya ila ni vizuri kua specific
print "gharama ni %d" %jumla
//tumia jumla kucheck if statement zako sio gharama coz gharama ni function usipoipa arguments italeta garbage
if jumla < 10000 :
//print kitu flani
else :
//print kitu flani
Jitahidi kutumia if and else badala ya kufanya comparisons mara mbili. CPU haipendi kuichosha bila sababu. Computer ikiona if inajaribu kuchukua hiyo jumla na kucompare na 10000 hiyo ni calculation inafanyika, ikikuta hiyo condition sio kweli inaendelea mbele, sasa mbele ikikutana na if nyingine inafanya computation tena, wastage of resources. Ila kama ungereplace if na kuweka else maana yake baada ya kucompare if ya pale juu hapo chini haifanyi tena comparison inatoa jibu tu, unakua umesave computation ambayo ni unnecessary.
Kwa app ndogo kama hii inaweza isimatter ila ukianza kuandika app kubwa sana ambazo speed ni key, mistakes ndogo kama hizi ni za kuconsider.
Jifunze pia na switch statements, zitakufupishia sana code.
Kaza buti mtanzania. Endelea kukomaa