Python 十进制到二进制转换器:"unsupported operand type(s) for /: 'str' and 'int'"



对于一个类项目,我必须对十六进制或二进制转换器进行小数,我继续接收

unsupported operand type(s)for /: 'str' and 'int'

并且不知道如何修复

这是我的其余代码:

strOut = ""
def decimalToBinary():    
    while x != 0:
        decVal = str(x) / 2
        remainder = decVal % 2
        strOut = str(remainder) + strOut
        return strOut

print ("Do you want to:")
print ("(1) - Convert from Decimal to Binary")
print ("(2) - Convert from Decimal to Hexadecimal")
choice = raw_input("Enter the number of the function you would like to 
use! ")
if choice == "1":
    numChoice = raw_input("Enter the number you would like to 
    convert")
    x = numChoice
    decimalToBinary()

预先感谢!

decVal = str(x) / 2应该是decval = decVal = float(x) / 2,以摆脱您的错误。

python强烈键入。

您正在尝试将字符串除以整数:

decVal = str(x) / 2

人们经常使用强大的语言来指代 两者都静态键入的语言(类型与 可变声明 - 或更一般而言,编译器可以告诉 哪种类型A变量是指,例如通过类型推理, 不执行程序)而强烈地进行(对 如何混合类型)。

有关更多信息,请阅读为什么Python是一种动态语言,也是强烈键入的语言

,对于您的问题,只需更改

decVal = str(x) / 2

to

decVal = float(x) / 2

相关内容

  • 没有找到相关文章

最新更新