Python等级考试五级编程题:分段函数的计算及取值。
编写程序,实现分段函数的计算,分段函数的取值如下表所示。要求:可连续输入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 ② : a1.append(i) 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)