在python中将变量(字母和数字)组合成一个问题

在python中将变量(字母和数字)组合成一个问题,python,variables,Python,Variables,我正在做作业。它是什么并不重要——这个问题应该非常简单。 我需要做一个随机生成的问题。要为添加执行此操作,我的代码是: num1 = (random.randint(0,12)) num2 = (random.randint(0,12)) question = (num1 + "" + "+" + "" + num2) print(question) 我得到一个错误: question = (num1 + "" + "+" + "" + num2) TypeError: unsupporte

我正在做作业。它是什么并不重要——这个问题应该非常简单。 我需要做一个随机生成的问题。要为添加执行此操作,我的代码是:

num1 = (random.randint(0,12))
num2 = (random.randint(0,12))
question = (num1 + "" + "+" + "" + num2)
print(question)
我得到一个错误:

question = (num1 + "" + "+" + "" + num2) 
TypeError: unsupported operand type(s) for +: 'int' and 'str'

我想我知道问题是什么,但我不知道如何解决它。如果有任何帮助,我将不胜感激。我使用的是python idle 3.8,您需要将num1和num2中的整数类型转换为字符串类型

num1 = (random.randint(0,12))
num2 = (random.randint(0,12))
question = (str(num1) + " " + "+" + " " + str(num2))
print(question)


不能添加int类型和string类型,这是导致错误的原因

您需要使用str()函数转换这两个随机生成的数字

因此,更正后的代码如下所示:

num1 = (random.randint(0,12))
num2 = (random.randint(0,12))
question = (str(num1) + " " + "+" + " " + str(num2))
print(question)
此外,您在连接时忘记了空格,这将导致2+3,以此类推


下一次,尝试在Google上搜索错误,然后尝试理解错误。它告诉您,不能对两种不同类型的“int”和“str”(相当于整数和字符串)使用运算符“+”进行操作。这些错误不仅仅是某种中国人的错误,它们确实告诉你你的错误。让调试器成为您的朋友!:)

您不能用str连接int。有很多方法可以实现这一点,您可以显式地将int转换为字符串,或者您可以将它们存储在列表中,并在打印时解压缩列表,或者我个人更喜欢使用pythons f-string格式

随机导入
num1=(random.randint(0,12))
num2=(random.randint(0,12))
问题=(str(num1)+++++++++++++++str(num2))
打印(问题)
问题=(num1,“+”,num2)
打印(*问题)
问题=f“{num1}+{num2}”
打印(问题)
输出

7+2
7 + 2
7 + 2

您试图使用
str
添加
int
,这是不允许的,您可以通过以下方式解决此问题:

>>> num1 = (random.randint(0,12))
>>> num2 = (random.randint(0,12))
>>> question = (str(num1) + "" + "+" + "" + str(num2))
# or for python 3.6+ use f-strings [1]
>>> question = f"{num1} + {num2}"
另外,如果要添加
,这也没有用,因为这些是空字符串。相反,可以使用
,或者将其添加到
+
操作符本身,例如:
“+”


参考资料:


  • 不要添加
    num1
    num2
    而是添加
    str(num1)
    str(num2)
    。或者使用f字符串
    打印(f“{num1}+{num2}”)
    Thx。我使用了@SayandipDutta方法。你想加上这个作为答案,这样我可以给你打勾吗?当然,等一下。嗯,很多答案!