第九章 异常处理及程序调试

一、模拟幼儿园分苹果

def division():
    '''功能:分苹果'''
    print("\n======================分苹果了===================")
    apple = int(input("请输入苹果的个数:"))
    children = int(input("请输入来了几个小朋友:"))
    result = apple//children
    remain = apple-result*children
    if remain>0:
        print(apple,"个苹果,平均分给",children,"个小朋友,每人分",result,"个,剩下",remain,"个。")
    else:
        print(apple,"个苹果,平均分给",children,"个小朋友,每人分",result,"个。")
if __name__=='__main__':
              division()

运行结果如下:

 

 二、模拟幼儿园分苹果(除数不能为零)

def division():
    '''功能:分苹果'''
    print("\n======================分苹果了===================")
    apple = int(input("请输入苹果的个数:"))
    children = int(input("请输入来了几个小朋友:"))
    result = apple//children
    remain = apple-result*children
    if remain>0:
        print(apple,"个苹果,平均分给",children,"个小朋友,每人分",result,"个,剩下",remain,"个。")
    else:
        print(apple,"个苹果,平均分给",children,"个小朋友,每人分",result,"个。")
if __name__=='__main__':
    try:
        division()
    except ZeroDivisionError:
        print("\n出错了~_~-苹果不能被0个小朋友分")

运行结果如下:

 

 三、模拟幼儿园分苹果(每个人至少分到一个苹果)

def division():
    '''功能:分苹果'''
    print("\n======================分苹果了===================")
    apple = int(input("请输入苹果的个数:"))
    children = int(input("请输入来了几个小朋友:"))
    if apple < children:
        raise ValueError("苹果太少了,不够分……")
    result = apple//children
    remain = apple-result*children
    if remain>0:
        print(apple,"个苹果,平均分给",children,"个小朋友,每人分",result,"个,剩下",remain,"个。")
    else:
        print(apple,"个苹果,平均分给",children,"个小朋友,每人分",result,"个。")
if __name__=='__main__':
    try:
        division()
    except ZeroDivisionError:
        print("\n出错了~_~-苹果不能被0个小朋友分")
    except ValueError as e:
        print("\n出错了~_~-",e)

运行结果如下:

 

 四、应用断言调试

def division():
    '''功能:分苹果'''
    print("\n======================分苹果了===================")
    apple = int(input("请输入苹果的个数:"))
    children = int(input("请输入来了几个小朋友:"))
    assert apple>children,"苹果不够分"
    result = apple//children
    remain = apple-result*children
    if remain>0:
        print(apple,"个苹果,平均分给",children,"个小朋友,每人分",result,"个,剩下",remain,"个。")
    else:
        print(apple,"个苹果,平均分给",children,"个小朋友,每人分",result,"个。")
if __name__=='__main__':
    division()

运行结果如下:

 

posted @ 2022-11-02 17:55  ShuiLian  阅读(26)  评论(0)    收藏  举报