【发布时间】:2022-12-03 18:24:30
【问题描述】:
我试图编写一个将十进制转换为二进制的程序,反之亦然,但是当我尝试 23 时,它会将第 17 行 (answer2 -= x) 标记为类型错误。
import math
x = 4096
y = ""
z = 10
q = 1
final_answer = 0
answer1 = str(input("Do you want to convert decimal into binary (1) or binary into decimal (2)?"))
if answer1 == "1":
answer2 = input("What number do you want to convert to binary? It can't be larger than 4096")
p = answer2.isdigit()
if p:
for i in range(13):
if int(answer2) >= x:
y = y + "1"
answer2 -= x
else:
y = y + "0"
x /= 2
print(y)
elif not p:
print("That's not a number")
我试图将 answer2 和 x 的变量转换为 float 和 int 但同样的问题仍然出现。
【问题讨论】:
-
您可以永久转换“answer2”:
answer2 = int(answer2)。
标签: python