设计具有可变参数的函数,其中第一参数为数据范围上限,如果没有第二参数,此函数输出指定范围的素数,如果有第二参数,此参数表示要处理的数据类型。(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)