在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方法。你想加上这个作为答案,这样我可以给你打勾吗?当然,等一下。嗯,很多答案!