“””
整数的阶乘(英语:factorial)是所有小于及等于该数的正整数的积,0的阶乘为1。即:n!=1×2×3×…×n
“”“
#/usr/bin/python3
# -*- coding: UTF-8 -*-
"""
用户输入一个整数,计算其阶乘结果
"""
num = int(input("请输入一个整数:"))
factorial = 1
if num < 0:
print("负数没有阶乘!")
elif num == 0:
print("零的阶乘是1")
else:
for i in range(1,num + 1):
factorial = factorial * i
print("%d的阶乘为:%d" %(num,factorial))
这段代码,对于输入为空和字符串时,直接报错,未作出异常处理
下面针对为空和字符串时,作出异常处理
#/usr/bin/python3
# -*- coding: UTF-8 -*-
"""
用户输入一个整数,计算其阶乘结果
针对为空和字符串的输入,作出异常处理
"""
while True:
try:
num = int(input("请输入一个整数:"))
factorial = 1
if num < 0:
print("负数没有阶乘!")
elif num == 0:
print("零的阶乘为1")
else:
for i in range(1,num + 1):
factorial = factorial * i
print("%s的阶乘为:%s" %(num,factorial))
break
except ValueError:
print("这不是一个有效的整数,请重新输入!")