1054. 求平均值 (20)——Python

本文介绍了一个Python程序,该程序用于计算输入数字列表的平均数,并验证这些数字的有效性。文章讨论了如何处理非法输入及特殊情况,如只有一个有效数字的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个题开始提交的时候测试点2显示错误,是因为这个测试的是当正确的数字只有一个时的情况,我在题目中读到然后自己理解的是直接输出原数,不需要进行两位的输出,但是显示错误,而在改为了输出两位小数后就通过了。只能说是理解力不行。

#判断数据是否合法
def have_judge(my_num):
	try:
		my_num = float(my_num)
		if my_num >= -1000.0 and my_num <= 1000.0:
			my_num = str(my_num)
			fir, last = my_num.split('.')
			length = len(last)
			if length > 2:
				return False #精度小数位数超过2位
			else:
				return True
		else:
			return False #不在指定的范围内
	except ValueError:
		return False #不是数字
		
num = input()
num = int(num)
string = input().split()
sum = 0
count = 0
for i in range(num):
	judge = have_judge(string[i])
	if judge:
		count += 1
		sum += float(string[i])
	else:
		#输出错误的数据
		print('ERROR: ' + string[i] + ' is not a legal number')

#对于各种情况分别输出
if count == 1:
	print('The average of 1 number is %.2f'%sum)
elif count == 0:
	print('The average of 0 numbers is Undefined')
else:
	resulst = sum / count
	print('The average of ' + str(count) + ' numbers is %.2f'%resulst)
	


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值