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

实例一:模拟幼儿园分苹果

  1. 代码:

def division():

    '''功能:分苹果'''

    print("\n====================分苹果了======================\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()

  1. 结果:

====================分苹果了======================

 

请输入苹果的个数:10

请输入来了几个小朋友:10

10 个苹果,平均分给 10 个小朋友,每人分 1 个。

 

 

实例二:模拟幼儿园分苹果(除数不能为0)

  1. 代码:

def division():

    '''功能:分苹果'''

    print("\n====================分苹果了======================\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个小朋友分!")

  1. 结果:

====================分苹果了======================

 

请输入苹果的个数:10

请输入来了几个小朋友:0

 

出错了~——~——苹果不能被0个小朋友分!

 

 

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

  1. 代码:

def division():

    '''功能:分苹果'''

    print("\n====================分苹果了======================\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)

 

  1. 结果:

====================分苹果了======================

 

请输入苹果的个数:5

请输入来了几个小朋友:10

 

出错了~——~—— 苹果太少了,不够分...

 

 

实例四:模拟幼儿园分苹果(应用断言调试)

  1. 代码:

def division():

    '''功能:分苹果'''

    print("\n====================分苹果了======================\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()

try:

    division()

except AssertionError as e:

    print("\n输入有误:",e)

  1. 结果:

====================分苹果了======================

 

请输入苹果的个数:5

请输入来了几个小朋友:10

 

输入有误: 苹果不够分

posted @ 2022-11-03 10:26  3-1  阅读(41)  评论(0)    收藏  举报