使用Python语言编写一个代码:题目为:从键盘输入非0整数,以输入0为输入结束标志,求平均值,统计正数负数个数 输入形式: 每个整数一行。最后一行是0,表示输入结束。 输出形式:输出三行。第一行是平均值。第二行是正数个数。第三行是负数个数。
时间: 2024-09-30 10:16:40 浏览: 36
Python编写一个猜数程序:随机生成一个整数,从键盘输入一个整数。若两个整数相等表示猜中,否则继续输入,直到猜中为止。
以下是使用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时,程序会退出循环。对于每一次输入,它尝试将其转化为整数并相应地更新计数和总和。如果输入无法转换为整数,程序会捕获异常并提示用户重新输入。最后,根据输入的数据计算并打印出平均值、正数个数和负数个数。
阅读全文