编程题

编写程序,实现分段函数的计算, 分段函数的取值如下表所示。 要求: 可连续输入 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)

查看答案
赣ICP备20007335号-2