一元的错误操作数类型:“str”

新手上路,请多包涵

Python 新手,无法弄清楚下面的代码有什么问题。

 a = input('input a number: ')
if int(a) >=0:
    print(a)
else:
    print(-a)

当输入-2时,输出应该是2。

但是,我收到错误代码:

 TypeError: bad operand type for unary-:"str' on print(-a)

谁能帮忙?谢谢。

原文由 pizizzx 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 270
1 个回答

尝试:

 a = int(input('input a number: '))
if a >=0:
    print(a)
else:
    print(-a)

或者

a = int(input('input a number: '))
print abs(a)

原文由 ahmed 发布,翻译遵循 CC BY-SA 3.0 许可协议

推荐问题