ValueError:int()的无效文字,基数为10:“ – 20”

时间:2019-12-22 15:10:42

标签: python

接受用户的输入,分为以下所示的列表;

input=addi $sp, $sp, –20'

registers=['$sp', '$sp', '–20']

然后将其转换为-20的二进制文件

x=int(registers[2])
def dec2bin(x):
n= int(x)
m = n + 1 if n < 0 else n
bitlen = 1 + m.bit_length()
mask = (1 << bitlen) - 1
return '{0:0{1}b}'.format(n & mask, 16)

代码正在使用addi $sp, $sp, 20,但由于某种原因它无法将-20转换为整数并给出错误为

  

ValueError:以10为底的int()无效文字:'– 20'

1 个答案:

答案 0 :(得分:1)

有几个类似的破折号,例如-,-,-。整数解析器通常希望您使用的是-,即ASCII连字符减号。

您可以使用正确的减号替换字符串中的错误破折号

replace('–', '-')