用python实现并写出以下代码:从键盘输入非0整数,以输入0为输入结束标志,求平均值,统计正数负数个数 【输入形式】 每个整数一行。最后一行是0,表示输入结束。 【输出形式】 输出三行。 第一行是平均值。第二行是正数个数。第三行是负数个数。
时间: 2023-06-08 08:03:55 浏览: 206
可以使用以下Python代码实现:
num_list = []
pos_num = 0
neg_num = 0
while True:
num = int(input())
if num == 0:
break
num_list.append(num)
if num > 0:
pos_num += 1
elif num < 0:
neg_num += 1
avg = sum(num_list) / len(num_list)
print(avg)
print(pos_num)
print(neg_num)
注意:该代码只能判断输入的数是否为非0整数,不能判断输入是否符合要求(例如输入字母会导致程序出错)。另外,由于涉及数值计算,输入的数值过大或过小可能会导致错误的计算结果,需要注意。
相关问题
使用Python语言编写一个代码:题目为:从键盘输入非0整数,以输入0为输入结束标志,求平均值,统计正数负数个数 输入形式: 每个整数一行。最后一行是0,表示输入结束。 输出形式:输出三行。第一行是平均值。第二行是正数个数。第三行是负数个数。
以下是使用Python编写的代码,满足上述题目的要求:
```python
def calculate():
numbers = [] # 存储输入的整数
count_positive = 0 # 正数计数
count_negative = 0 # 负数计数
sum_values = 0 # 总和
while True:
num = input("请输入一个整数(输入0结束):")
if num == '0': # 输入0作为结束标志
break
try:
num = int(num) # 尝试将输入转为整数
if num != 0:
numbers.append(num)
if num > 0:
count_positive += 1
else:
count_negative += 1
sum_values += num
except ValueError: # 如果输入不是整数,提示并继续下一轮循环
print("无效输入,请输入一个整数。")
if not numbers: # 如果没有任何输入,平均值为0
average = 0
else:
average = sum_values / len(numbers)
print("平均值:", average)
print("正数个数:", count_positive)
print("负数个数:", count_negative)
calculate()
```
这个程序首先定义了一个函数`calculate()`,然后在一个无限循环中等待用户输入。当用户输入0时,程序会退出循环。对于每一次输入,它尝试将其转化为整数并相应地更新计数和总和。如果输入无法转换为整数,程序会捕获异常并提示用户重新输入。最后,根据输入的数据计算并打印出平均值、正数个数和负数个数。
用Python写从键盘输入非0整数,以输入0为输入结束标志,求平均值,统计正数负数个数
num_list = []
positive_num = 0
negative_num = 0
while True:
num = int(input("请输入一个非0整数:"))
if num == 0:
break
num_list.append(num)
if num > 0:
positive_num += 1
else:
negative_num += 1
if len(num_list) == 0:
print("没有输入任何数字!")
else:
average = sum(num_list) / len(num_list)
print("平均值为:", average)
print("正数个数为:", positive_num)
print("负数个数为:", negative_num)
阅读全文
相关推荐
















