为什么它返回不能隐式转换为str?

时间:2015-12-11 18:21:45

标签: python string int

它是一个随机数学问题,它返回一个我没想到的错误。请帮忙! 错误是:print('你的得分为:'+ int(得分)) TypeError:无法将'int'对象隐式转换为str

import random


count=0


while count<10:
    numb1=random.randint(1,12)
    numb2=random.randint(1,12)
    ops=[' add ',' times ',' takeaway ']
    ops2=random.choice(ops)
    question=str(numb1)+''.join(ops2)+str(numb2)
    print(question)
    ans=int(input('Answer: '))
    count=count+1
score=0
if ans== numb1+numb2 or numb1-numb2 or numb1*numb2:
    score=score+1

print('Your score was: '+score)

2 个答案:

答案 0 :(得分:1)

此行不正确。无法添加intstr

print('Your score was: '+score)

使用以下其中一项:

print('Your score was:', score)
print('Your score was: '+str(score))
print('Your score was: %d'%(score))
print('Your score was: {}'.format(score))

答案 1 :(得分:1)

在最后一行,您需要将整数转换为字符串

print('Your score was: ' + str(score))

或者,您可以使用格式字符串:

print('Your score was: %u' % score)

这是因为你不能直接将整数连接到字符串,例如
"I have " + 7 + " kittens" - 为此,您必须先将整数(在本例中为7)转换为字符串。您可以使用Python内置的str()函数来实现。