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")
执行结果: