【问题标题】:TypeError: %d format: a number is required, not str类型错误:%d 格式:需要一个数字,而不是 str
【发布时间】: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


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2020-09-24
    • 2015-02-04
    • 2015-12-20
    • 1970-01-01
    • 2015-01-31
    • 2017-09-20
    • 2015-07-22
    • 2021-07-08
    • 2017-11-17
    相关资源
    最近更新 更多