思路:根据题意,让我们先把第二行非法元素挑出来,然后把合法元素相加并求均值,并记录合法元素数量
需要注意的是判断的过程以及输出时的格式
代码如下:
import sys
sys.stdin.readline() #读入一行,但不使用
list_1 = [x for x in sys.stdin.readline().split()]
sum_1,if_overflow,sum_2 = 0,0,0
for x in list_1:
try:
num_1 = eval(x)
if '.' in x:
if_overflow = len(x.split('.')[1]) #用于判断小数点保留位数
if num_1<-1000 or num_1>1000 or if_overflow>2:
print("ERROR: {} is not a legal number".format(x))
else:
sum_1 = sum_1 + num_1
sum_2 = sum_2 + 1
except:
print("ERROR: {} is not a legal number".format(x))
if sum_2 == 0:
print("The average of 0 numbers is Undefined")
else:
if sum_2 == 1: #以下输出格式略有不同,需要注意
print("The average of {} number is {:.2f}".format(sum_2,sum_1/sum_2))
else:
print("The average of {} numbers is {:.2f}".format(sum_2,sum_1/sum_2))