【发布时间】:2014-01-07 10:28:06
【问题描述】:
我想使用打印格式来打印字符串和数字,我 有以下代码:
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”。
不明白为什么,请指点,谢谢!
【问题讨论】:
-
您是否尝试打印
type(skill)? -
是的,它是 int 类型。我自己打印也没问题,如前两个打印语句所示。
标签: python-2.7