【牛客网华为机试】HJ105 记负均正II

题目

描述

从输入任意个整型数,统计其中的负数个数并求所有非负数的平均值,结果保留一位小数,如果没有非负数,则平均值为0

本题有多组输入数据,输入到文件末尾,请使用while(cin>>)读入

数据范围小于1e6

输入描述:

输入任意个整数,每行输入一个。

输出描述:

输出负数个数以及所有非负数的平均值

示例1

输入:

-13
-4
-7

输出:

3
0.0

解题思路

(1)对输入的数字进行判断,如果是负数则count+1

(2)如果是整数则计算所有正数的和,并求平均数

(3)最后输出负数的个数以及正数的平均数,保留一位小数

代码

count = 0
count_2 = 0
sum_num = 0
avg = 0
while True:
    try:
        num = int(input())
        if num<0:
            count+=1
        else:
            count_2 +=1
            sum_num += num
    except Exception as e:
        break
        
if count_2>0:
    avg = sum_num/count_2
        
print(count)
print(round(avg,1))

Reference

华为机试题库_在线编程+题解_牛客题霸_牛客网

上一篇:golang中函数的可变参数


下一篇:SQL聚集函数