编写代码,分别统计输入的正数和负数的个数,直到输入0结束。
这个用while循环吗?
arr = [0,0] # 用来记录数量的列表
while True: # 设置 循环
a = input() # 进行输入
if a == '0': # 输入值验证是否为0
break # 如果输入值为字符0,则跳出循环
try: # 为了避免出现非数值信息,这里进行异常捕捉
x = eval(a) # 将输入的字符串进行转换,如果无法转换成功,跳至异常处理
if type(x) is int or type(x) is float: # 转换成功,判断类型是否是整型或浮点型
arr[0 if x < 0 else 1] += 1 # 如果类型合适,则根据值是否为正数,对列表中不同的项进行计数
except: # 异常处理
pass # 不处理
print(f'负数{arr[0]}个,正数{arr[1]}个') # 输出结果
zs = 0
fs = 0
n = int(input())
while n!=0:
if n>0:
zs = zs+1
else:
fs = fs+1
n = int(input())
print(f'负数{zs}个,正数{fs}个')
# 初始化正数和负数计数器
positive_count = 0
negative_count = 0
# 循环读取输入,直到输入0结束
while True:
num = int(input("请输入一个整数(输入0结束):"))
if num > 0: # 如果输入的数大于0
positive_count += 1 # 正数计数器加1
elif num < 0: # 如果输入的数小于0
negative_count += 1 # 负数计数器加1
else: # 如果输入的数等于0
break # 结束循环
# 输出正数和负数的个数
print("正数个数:", positive_count)
print("负数个数:", negative_count)
可以使用while循环来实现这个问题,每次输入一个数字进行判断,如果是正数则正数计数器加一,如果是负数则负数计数器加一,直到输入0为止。代码如下:
positive_count = 0 # 正数计数器
negative_count = 0 # 负数计数器
while True:
num = int(input("请输入一个整数:"))
if num == 0:
break # 输入0时跳出循环
elif num > 0:
positive_count += 1
else:
negative_count += 1
print("正数个数为:", positive_count)
print("负数个数为:", negative_count)
以上代码中,我们使用了一个无限循环(while True),每次输入一个整数进行判断,如果输入0就跳出循环,否则根据正负性对应的计数器进行计数。最后输出正负数个数即可。