编写程序,实现分段函数的计算, 分段函数的取值如下表所示。 要求: 可连续输入 5 次(也就是输入 5 个 x 值, 求出对应的 y 值) , 根据对应的表达式求出 y 值之后, 将结果转化成整数添加到列表 a 中。 请判断存在于列表 a 中的 5 个元素是否为素数, 如果为非素数则转化成元组之后存在 b1 中, 如果是素数则转换成元组之后存放在 b2 中, 分别输出 b1、 b2中非素数和素数的元素及元素个数。
a = []
a1 = []# 暂时存储非素数的值
a2 = []# 暂时存储素数的值
b1 = ()
b2 = ()
for i in range(5):
x = int(input("输入 x="))
if x < 0:
y = 0
elif 0 <= x < 5:
y = x
elif 5 <= x < 10:
y = 3 * x - 5
elif 10 <= x < 20:
y = 0.5 * x - 2
elif x >= 20:
y = 2 * x
_____①_____
for i in a:
if i == 0 or i == 1:
_____②_____
else :
flag = True
for j in range(2, i):
if i % j == 0:
_____③_____
break
if _____④_____:
a2.append(i)
else :
a1.append(i)
b1 = tuple(a1)
b2 = tuple(a2)
print("非素数的个数有" + str(len(b1)) + "个,", "非素数为: ", b1)
print("素数的个数有" + str(len(b2)) + "个,", "素数为: ", b2)