[Tutor] Not sure why the code is giving weird result?
Whom Isac
wombingsac at gmail.com
Fri Jan 8 20:56:09 EST 2016
Hi, today I tried to help with one of the request in Python tutor about
trailing zeros -6days old.
I don't know why my code is incrementing in number.
Here is the code:
def factorial():
print("Here you will put your factorial")
factVar=int(input("Please input what number to be factorial: \t"))
TValue=0
for i in range(0,factVar+1):
TValue+=i*i+1
print("Your total factorial: "+str(TValue))
return TValue
def trailing_zeros():
value=factorial()
dvdVal=1
divider=1
totalTrailingZeroes=0
while dvdVal !=0:
try:
answer=0
answer=int(value/5**(divider))
totalTrailingZeroes+=answer
while answer !=0:
if answer >0:
answer=int(value/5**(divider+1))
newanswer=round(answer,1)
totalTrailingZeroes+=newanswer
elif answer <=0:
dvdVal=0
print(str(TrailingZeroes))
except Exception:
print("Sorry About that")
trailing_zeros()
Here is what I tried After ward
###And here is why I tried Afterwards
def factorial():
print("Here you will put your factorial")
factVar=int(input("Please input what number to be factorial: \t"))
TValue=0
for i in range(0,factVar+1):
TValue+=i*i+1
print("Your total factorial: "+str(TValue))
value=TValue
dvdVal=1
divider=1
totalTrailingZeroes=0
answer=int(value/5**(divider))
totalTrailingZeroes+=answer
newanswer=round(answer,1)
while newanswer !=0:
if newanswer >0:
answer=int(value/(5**(divider+1)))
newanswer=round(answer,1)
totalTrailingZeroes+=newanswer
print(str(totalTrailingZeroes))
else:
newanswer=0
print(str(TrailingZeroes))
factorial()
"""
def trailing_zeros():
value=factorial()
dvdVal=1
divider=1
totalTrailingZeroes=0
while dvdVal !=0:
try:
answer=0
answer=value/5**(divider)
totalTrailingZeroes+=answer
while answer !=0:
if answer >0:
answer=value/5**(divider+1)
newanswer=round(answer,1)
totalTrailingZeroes+=newanswer
elif answer <=0:
dvdVal=0
print(str(TrailingZeroes))
except Exception:
print("Sorry About that")
trailing_zeros()
"""
More information about the Tutor
mailing list