Python练习之-----求阶乘练习题

“””
整数的阶乘(英语: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))

空格报错:
Python练习之-----求阶乘练习题_第1张图片
字符串报错:
Python练习之-----求阶乘练习题_第2张图片

这段代码,对于输入为空和字符串时,直接报错,未作出异常处理

下面针对为空和字符串时,作出异常处理

#/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("这不是一个有效的整数,请重新输入!")

对于为空和字符串时,抛出异常处理:
Python练习之-----求阶乘练习题_第3张图片

你可能感兴趣的:(Python,Python练习)