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

Python绝对值程序输出异常求助:负数处理后结果仍错误

问题分析与解决方案

你的代码核心问题是:仅临时打印了绝对值的计算结果,但从未更新number变量本身。输入-7时,number始终保持初始的-7值,中间的print(number * -1)只是输出了一次计算后的7,但最后一行输出的还是原始的负数变量。

修正方法1:更新原变量

直接将计算后的绝对值赋值回number,覆盖原始值后再输出:

number = int(input("Give a number: "))
if number < 0:
    number = number * -1  # 把绝对值结果赋值给number,替换原始值
print()
print("The absolute value of the number is: " + str(number))

修正方法2:用临时变量保存结果(保留原始输入)

如果需要保留用户输入的原始数字,可以单独用一个变量存储绝对值:

number = int(input("Give a number: "))
abs_value = number if number >= 0 else -number  # 用三元表达式计算绝对值
print()
print("The absolute value of the number is: " + str(abs_value))

更简洁的方式:调用Python内置函数

Python自带了计算绝对值的abs()函数,直接调用即可完成需求:

number = int(input("Give a number: "))
print()
print("The absolute value of the number is: " + str(abs(number)))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 22:22:15