python【问题描述】从键盘输入非0整数,以输入0为输入结束标志,求平均值,统计正数负数个数 【输入形式】 每个整数一行。最后一行是0,表示输入结束。 【输出形式】 输出三行。 第一行是平均值。第二行是正数个数。第三行是负数个数。
时间: 2023-08-31 19:19:53 浏览: 133
输入一些整数,编程计算并输出其中所有正数的和,输入负数时不累加,继续输入下一个数 输入零时,表示输入数据结束 要求最后统计出累加的项数
5星 · 资源好评率100%
### 回答1:
你可以尝试以下代码实现:
```python
# 初始化计数器和累加器
count = 0
sum = 0
positive_count = 0
negative_count = 0
while True:
num = int(input()) # 输入整数
if num == 0: # 输入0时结束循环
break
count += 1 # 计数器加1
sum += num # 累加器加上输入的数字
if num > 0: # 判断正数和负数
positive_count += 1
else:
negative_count += 1
# 计算平均值
if count > 0:
average = sum / count
else:
average = 0
# 输出结果
print("平均值:", average)
print("正数个数:", positive_count)
print("负数个数:", negative_count)
```
这个程序中,我们使用了一个 while 循环,每次输入一个整数并判断是否为 0,如果是就跳出循环。在循环中我们用 count 记录输入的数字个数,sum 统计所有数字的和。同时,我们用 positive_count 和 negative_count 分别记录正数和负数的个数。最后,我们可以根据 count 和 sum 计算平均值,然后输出结果。
### 回答2:
代码如下:
```python
nums = [] # 存储输入的整数
positive_count = 0 # 正数个数
negative_count = 0 # 负数个数
total = 0 # 所有数字之和
while True:
num = int(input()) # 输入一个整数
if num == 0:
break # 输入0时退出循环
nums.append(num) # 将输入的整数添加到列表中
total += num # 累加所有数字之和
if num > 0:
positive_count += 1 # 统计正数个数
elif num < 0:
negative_count += 1 # 统计负数个数
average = total / len(nums) # 计算平均值
print(average)
print(positive_count)
print(negative_count)
```
这段代码首先创建了一个空列表`nums`来存储输入的整数,接下来使用一个循环不断从键盘读取整数并判断。如果输入的整数为0,则表示输入结束,退出循环。否则,将整数添加到`nums`列表中,同时用两个计数器`positive_count`和`negative_count`统计正数和负数的个数,并累加所有数字的总和。
循环结束后,通过计算总和除以整数个数来求得平均值,并输出结果。
### 回答3:
可以使用循环来实现这个问题,并使用变量记录正数和负数的个数,以及累加总和。具体的算法步骤如下:
1. 初始化计数器count_pos为0,count_neg为0,sum_num为0。
2. 进入循环,每次读取一个整数num。
3. 判断num的值是否为0,如果是,则跳出循环。
4. 判断num的值,如果大于0,则count_pos加1,否则count_neg加1。
5. 将num的值累加到sum_num上。
6. 返回到步骤2,继续读取下一个整数。
7. 循环结束后,计算平均值为sum_num除以(count_pos + count_neg)。
8. 输出平均值、正数个数和负数个数。
以下是具体的实现代码:
```python
count_pos = 0
count_neg = 0
sum_num = 0
while True:
num = int(input(""))
if num == 0:
break
if num > 0:
count_pos += 1
else:
count_neg += 1
sum_num += num
avg = sum_num / (count_pos + count_neg)
print(avg)
print(count_pos)
print(count_neg)
```
通过上述算法,我们可以找到键盘输入的非零整数的平均值,并统计出正数和负数的个数,最后将结果输出。
阅读全文