设计处理数据的具有可变参数的函数

设计具有可变参数的函数,其中第一参数为数据范围上限,如果没有第二参数,此函数输出指定范围的素数,如果有第二参数,此参数表示要处理的数据类型。(1.素数;2.回文数;3.偶数;4.奇数)

方法内具体业务实现一下就行了。

def func(*args):
    if len(args)==1:
        for num in range(args[0]):
            if num > 1:
                flag=1
                for i in range(2,num):
                    if (num % i) == 0:
                        flag=0
                        break
                if flag==1:
                    print(num,end=' ')
                        
    if len(args)==2:
        print("处理的数据类型")
    
func(66)
#格式如下,求素数我就没写了
def 求素数(n):    
    return 1
def 求回文数(n):
    return [i for i in range(n+1) if str(i)==str(i)[::-1]]
def 求偶数(n):
    return list(range(0, n, 2))
def 求奇数(n):
    return list(range(1, n, 2))

def fun(*kw):
    f = {1: 求素数,2: 求回文数,3: 求偶数,4: 求奇数,}
    idx = kw[1] if len(kw) == 2 else 1    
    return f[idx](kw[0])

res = fun(20, 4)

print(res)

def prime_number(number):
    res = []
    for i in range(2, number):
        j = 2
        for j in range(2, i):
            if (i % j == 0):
                break
        else:
            res.append(i)
    return res



def aaa(number, type=None):
    if not type:
        return prime_number(number)
    if type == 1:
        return prime_number(number)
    elif type == 2:
        s = str(number)
        if s == s[::-1]:
            print('回文数')
            return True
        else:
            print('普通数')
            return False
    elif type == 3:
        return number % 2 == 0
    elif type == 4:
        return number % 2 == 1


if __name__ == '__main__':
    result = aaa(100, 4)
    print(result)