<prompt> Tengeneza hati ya Python ambayo hukokotoa msingi wa nambari fulani kwa kutumia urejeshaji. Hati inapaswa kushughulikia uthibitishaji wa ingizo na kuonyesha ujumbe unaofaa wa makosa ikiwa ni lazima.  <response>: chatudef factorialn: ikiwa n 0: kurudi 1 kwingine: return n factorialn-1def kuu : jaribu: num intinputIngiza nambari kamili isiyo hasi: ikiwa nambari 0: raise ValueErrorIngizo lazima liwe nambari kamili isiyo hasi. printfThe factorial of num is factorialnum isipokuwa ValueError kama e: chapa ekama __name__ __main__: kuu Hati hii inafafanua chaguo za kukokotoa factorial ambayo hukokotoa kipengele cha nambari fulani kwa kutumia urejeshaji. Chaguo za kukokotoa kuu hushughulikia uthibitishaji wa ingizo na ingizo la mtumiaji, ikionyesha ujumbe wa hitilafu ikiwa ingizo si nambari kamili isiyo hasi. 