Python 继续获取错误代码-TypeError:不支持的操作数类型-:';int';和';str';

Python 继续获取错误代码-TypeError:不支持的操作数类型-:';int';和';str';,python,string,int,Python,String,Int,我正在尝试制作一个程序,它总是产生两个三位数的总和,由另外两个三位数的差值导出,如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

我正在尝试制作一个程序,它总是产生两个三位数的总和,由另外两个三位数的差值导出,如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)
num1=输入(“选择一个三位数字,其第一位和第三位数字至少相差两个数字。”)
num2=num1[2]+num1[1]+num1[0]
如果int(num1)
我一直收到错误代码-

TypeError:-:“int”和“str”的操作数类型不受支持,行-差=int(num2)-(num1)的操作数类型不受支持


我试着把那一行的int改成str,还有其他的。如果有人能告诉我哪里出了问题,我会非常感激。谢谢

出现此错误是因为
num1
是一个字符串

input
返回的所有内容都是字符串。您需要转换为
int
才能使用数学运算

 >>> num1 = input("Choose a three digit number whose first and third digits vary by at least two numbers.")
 >>> ..... 123
 >>> print(type(num1))
 >>> <class 'str'>
>>num1=输入(“选择一个三位数字,其第一位和第三位数字至少相差两个数字。”)
>>> ..... 123
>>>打印(类型(num1))
>>> 

出现此错误是因为
num1
是一个字符串

input
返回的所有内容都是字符串。您需要转换为
int
才能使用数学运算

 >>> num1 = input("Choose a three digit number whose first and third digits vary by at least two numbers.")
 >>> ..... 123
 >>> print(type(num1))
 >>> <class 'str'>
>>num1=输入(“选择一个三位数字,其第一位和第三位数字至少相差两个数字。”)
>>> ..... 123
>>>打印(类型(num1))
>>> 

你似乎忘记在这里添加
int
了:
difference=int(num2)-(num1)
和这里:
difference=int(num1)-(num2)
。你似乎忘了在这里添加
int
了difference=int(num2)-(num1)
和这里:
difference=int(num1)-(num2)