You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 2.7输入10个数统计正负零数量程序结果异常问题

解决Python 2.7数字统计计数错误问题

嘿,我来帮你搞定这个统计数字的问题!你的代码里有几个关键问题导致统计结果始终不对,我给你一一拆解并修正:

原代码的核心问题

  • 循环语法错误:for i in range(10)后面没有加冒号:,这是Python的基础语法要求,没加的话程序直接报错跑不起来。
  • 计数变量初始化位置错误:你把负数、正数、零的计数变量n、p、z放在了循环内部,每次循环都会把这三个变量重置为0,之前统计的结果直接被清空,自然最后统计不对。
  • 输入未转换为整数:Python 2.7中的input()函数返回的是字符串类型,直接拿字符串和数字(比如0)比较会出现逻辑错误,必须把输入转换成整数类型才能正确判断正负。
  • 冗余且冲突的变量:开头定义的i = []完全没用,而且后面循环又用i作为循环变量和输入存储变量,会造成变量名冲突,直接删掉就行。

修正后的完整代码

# 初始化计数变量,放在循环外面
negative_count = 0
positive_count = 0
zero_count = 0

for _ in range(10):
    # 获取输入并转换为整数
    num = int(input('Enter Next Number: '))
    # 判断数字类型并计数
    if num > 0:
        positive_count += 1
    elif num < 0:
        negative_count += 1
    else:
        zero_count += 1

# 输出统计结果
print "The number of negative numbers is", negative_count
print "The number of positive numbers is", positive_count
print "The number of zeros is", zero_count

代码说明

  1. 把计数变量移到循环外,确保每次循环都是在之前的计数基础上累加。
  2. 用int()把输入的字符串转换成整数,保证数值比较的正确性。
  3. 把循环变量改成_(表示这个变量我们不需要用到具体值),避免和输入变量冲突,同时变量名改成更清晰的negative_count、positive_count、zero_count,可读性更强。
  4. 补全了循环的冒号,修正了语法错误。

内容的提问来源于stack exchange,提问作者Help

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 09:19:20