对于一个类项目,我必须对十六进制或二进制转换器进行小数,我继续接收
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