一元的错误操作数类型:“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 许可协议

阅读 254
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 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题