Skip to content

HJ105 记负均正II ​

本节目标:理解“HJ105 记负均正II”的核心思路,并能把它用于实际开发或面试表达。

说明:原 OneNote 中有图片引用,但图片未包含在导出目录中;本页保留了可用的文字与代码内容。 描述 输入 n 个整型数,统计其中的负数个数并求所有非负数的平均值,结果保留一位小数,如果没有非负数,则平均值为0 本题有多组输入数据,输入到文件末尾。 数据范围:

输入描述: 输入任意个整数,每行输入一个。 输出描述: 输出负数个数以及所有非负数的平均值 示例1 输入: -13-4-7 ==复制== 输出: 30.0 ==复制== 示例2 输入: -1212 ==复制== 输出: 11.5

import sys

初始化负数计数器 ​

count = 0

初始化存储非负数的列表 ​

non_negative_nums = []

从标准输入逐行读取数据 ​

for line in sys.stdin:

将读取的行去除空白字符后转换为整数 ​

num = int(line.strip())

如果数字是负数,则增加负数计数器 ​

if num < 0: count += 1

否则,如果数字是非负数(包括0),则添加到非负数列表中 ​

else: non_negative_nums.append(num)

打印负数的总个数 ​

print(count)

如果非负数列表不为空,则计算平均值 ​

if len(non_negative_nums) > 0: average = sum(non_negative_nums) / len(non_negative_nums) else:

如果非负数列表为空,则平均值设为0.0 ​

average = 0.0

打印非负数的平均值,保留一位小数 ​

print(f"{average:.1f}")

本站总访问 — 次