我试图做一个程序,总是产生两个三位数的总和,从两个其他三位数的差异得出,如1089,前提是最初选择的数字的第一和第三位数相差两个或更多。我将澄清,我是非常新的这一点,只知道最基本的。这就是我目前所拥有的。你知道吗
num1 = input("Choose a three digit number whose first and third digits vary by at least two numbers.")
num2 = num1[2] + num1[1] + num1[0]
if int(num1) < int(num2):
difference = int(num2) - (num1)
else:
difference = int(num1) - (num2)
newNum1 = str(difference)
newNum2 = newNum1[2] + newNum1[1] + newNum1[0]
ten89 = int(newNum1) + int(newNum2)
print ("If you chose your three-digit number correctly your should have gotten 1089 and you got," ,ten89)
我一直收到错误码-
TypeError:不支持-:“int”和“str”的操作数类型-行-差分=int(num2)-(num1)。你知道吗
我试着把那行的int改成str,还有其他的。如果有人能告诉我哪里出了问题,我会非常感激的。谢谢!你知道吗
出现此错误是因为
num1
是一个字符串。你知道吗input
返回的所有内容都是字符串。您需要转换成int
才能使用数学运算。你知道吗相关问题 更多 >
编程相关推荐