2014-01-07 89 views
0

我想使用的打印格式打印字符串和数字,我 有以下代码:类型错误:%d格式:需要数量,而不是str的

John = {'strength': 10, 'skill': 10} 
character1 = "John" 
strength = eval(character1)['strength'] 
skill = eval(character1)['skill'] 
print " %d " % eval(character1)['strength'] 
print " %d " % strength 
print "$s's strength is: %d, and $s's skill is: %d" % (character1, strength, character1, skill) 
print "$s's strength is: %d, and $s's skill is: %d" % character1, eval(character1)['strength'], character1, eval(character1)['skill'] 

前两个打印我没有错误,他们打印10,最后两个打印给我: “TypeError:%d格式:一个数字是必需的,而不是str”。

我不明白为什么,请给点意见,谢谢!

+0

你试过打印'type(skill)'吗? –

+0

是的,它是int型。而且我自己打印它也没有问题,正如前两份打印声明中所示。 – user3168631

回答

0

这是错误的:$s应该是%s

+0

非常感谢你,改变解决问题。 – user3168631

相关问题