Discuss / Python / 看注释掉的部分,需要怎么判断才能正常的识别出非数字的元素 并raise 错误

看注释掉的部分,需要怎么判断才能正常的识别出非数字的元素 并raise 错误

Topic source

# -*- coding: utf-8 -*-

def findMinAndMax(L):

#----------------------输入分割-----------------------

    if not isinstance(L,Iterable):

        raise TypeError('无法迭代的输入')

    if L == []:

        return (None,None)

    max = min = L[0]

    for i in L:

        # if format(i) != int or format(i) != long or format(i) != complex or format(i) != float:

            # raise TypeError('非法输入,不建议排序的类型')

        if i > max:

            max = i

        if i < min:

            min = i

    return (min, max)

from collections.abc import Iterable 

#----------------------输入分割-----------------------

    # 测试

if findMinAndMax([]) != (None, None):

    print('测试失败!')

elif findMinAndMax([7]) != (7, 7):

    print('测试失败!')

elif findMinAndMax([7, 1]) != (1, 7):

    print('测试失败!')

elif findMinAndMax([7, 1, 3, 9, 5]) != (1, 9):

    print('测试失败!')

else:

    print('测试成功!')


  • 1

Reply