VS Code中Python打印函数无输出问题及代码修复咨询
整数统计程序修复:解决无输出及语法错误
你的代码存在多处语法错误与逻辑问题,导致程序无法正常运行甚至无输出,具体问题及修复方案如下:
核心错误点
- 变量名非法:Python变量名不能包含空格,需将
count positive改为count_positive、sum positive改为sum_positive,所有带空格的变量统一使用下划线命名法 - 类型转换函数错误:Python中转换整数的正确函数是
int(),而非integer() - 异常捕获语法错误:
exceptValue Error``写法错误,正确应为except ValueError:,无需用反引号包裹异常类 - 缩进逻辑错误:判断
number == 0、正负性的代码需放在try块内部,否则输入非法值时number未定义会引发报错;异常处理后需添加continue跳过后续无效逻辑 - 条件分支语法错误:
else number < 0:语法无效,应改为elif number < 0: - 语法符号错误:
if number % 2 == 0:末尾的反引号多余;f-string写法错误,f "..."需调整为f"..."(无空格) - 未执行主函数:代码仅定义
main()但未调用,需在末尾添加调用语句触发执行
修复后的完整代码
def main(): count_positive = 0 count_negative = 0 count_divisible_by_2 = 0 sum_positive = 0 sum_negative = 0 sum_divisible_by_2 = 0 while True: try: number = int(input("Enter an integer (or 0 to stop): ")) except ValueError: print("Invalid integer. Please enter a valid number.") continue if number == 0: break if number > 0: count_positive += 1 sum_positive += number elif number < 0: count_negative += 1 sum_negative += number if number % 2 == 0: count_divisible_by_2 += 1 sum_divisible_by_2 += number print(f"Positive integers count: {count_positive}, sum: {sum_positive}") print(f"Negative integers count: {count_negative}, sum: {sum_negative}") print(f"Integers divisible by 2 count: {count_divisible_by_2}, sum: {sum_divisible_by_2}") if __name__ == "__main__": main()
说明
修复后的程序会正常接收整数输入,输入0时退出循环并输出各类统计结果;输入非法值时会提示错误并继续等待有效输入。
内容的提问来源于stack exchange,提问作者S L
相关产品推荐
相关产品推荐

