num = int(input('请输入一个整数:'))
def tool__num(num):
try:
if num == int(num):
True
except ValueError:
print('请输入整数')
factorial = 1
if num < 0 :
print('负数没有阶乘')
elif num == 0 :
print('0 的阶乘等于1')
else:
for x in range(1,num + 1) :
factorial = factorial * x
print('{0} 的阶乘为:{1}'.format(num ,factorial))
输入整数和0没有问题
请输入一个整数:1
1 的阶乘为:1
请输入一个整数:-9
负数没有阶乘
请输入一个整数:0
0 的阶乘等于1
但是输入浮点数还是报错
请输入一个整数:1.0
Traceback (most recent call last):
File "E:/python_examples/factorial.py", line 2, in <module>
num = int(input('请输入一个整数:'))
ValueError: invalid literal for int() with base 10: '1.0'
哪位大佬指点一下