python之“求一个数的阶乘并求结果中从后向前数第一个不为0(零)的数”

实验环境:python2.7
python代码:

import math
def factorial(n):            #定义一个函数,返回一个数的阶乘
if n==0:
  return 1
else:
  sum=n*factorial(n-1)
  return sum

def zero(num):            #定义一个函数,求一个数从后向前数第一个不为0(零)的数
if len(num)==1:
  print num
else:
   for i in range(1, len(num)):
    if num[-i] != "0":
     print num[-i]
     break
    else:
     continue

number=int(input("please input a number:"))
#调用函数,这里笔者分了情况讨论,如果键盘输入为正整数,则正常执行,否则有报错提示
if number >= 0:
result=factorial(number)
print("%d" %result)
zero(str(result))
else:
print("Errors,please input a right number")

执行结果:

python之“求一个数的阶乘并求结果中从后向前数第一个不为0(零)的数”

python之“求一个数的阶乘并求结果中从后向前数第一个不为0(零)的数”