A_B_C_zzy
A_B_C_zzy
采纳率100%
2019-09-22 14:56

python进制转换输出一直报错?

已采纳

```a = 12345
b = "0xF98A"
c = '0b1100010110'
print(str(a)+"的二进制、八进制、十六进制分别为"+"\n"+bin(a)+"、"+oct(a)+"、"+hex(a))
s=(int(b,16))
print(b+"的二进制、十进制、八进制分别为"+"\n"+bin(b)+"、"+(s)+"、"+oct(b))

TypeError: 'str' object cannot be interpreted as an integer
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • lt0312 lt0312 2年前
    a = 12345
    b = "0xF98A"
    c = '0b1100010110'
    print(str(a)+"的二进制、八进制、十六进制分别为"+"\n"+bin(a)+"、"+oct(a)+"、"+hex(a))
    s = (int(b,16))
    d = eval(b)   # 获取表达式的原始数据
    print(str(b),"的二进制、十进制、八进制分别为","\n",bin(d),"、", eval(b),"、",oct(d))
    

    结果:
    12345的二进制、八进制、十六进制分别为
    0b11000000111001、0o30071、0x3039
    0xF98A 的二进制、十进制、八进制分别为
    0b1111100110001010 、 63882 、 0o174612

    在输出时,同类型串联才能用‘+’,像‘str’与‘int’之间不能用‘+’,可用‘,’之间连接

    点赞 评论 复制链接分享