Python实现任意正整数阶乘
要求:键入任意数字计算它的阶乘
一:
默认输入数字全为正整数型解
return = 1
n = int(input('请输入一个数字:'))
for i in range(1,n+1):
res=res*i
print(res)
二:
考虑输入数字
1.判断数字是否满足类型要求
2.实现正整数阶乘
def h_int(int_n):
if isinstance(int_n,str):
return int_n.isdigit()
elif isinstance(int_n,int):
return True
else:
return False
def count_factorial(one_num):
result=1
if one_num<0:
print('{}为负数,没有阶乘!'.format(one_num))
return None
elif one_num <0:
return 1
else:
for i in range(1,one_num+1):
result *=i
return result
input_n=input('请输入一个正整数:')
if h_int(input_n):
input_n=int (input_n)
print('{}的阶乘为:{}'.format(input_n,count_factorial(input_n)))
else:
print('输入的{}有误,请输入一个正整数。'.format(input_n))
内置函数解析:
isinstance(对象,类型):用来判断给定的对象是否已知的数据类型,相同返回True,否则False