Ошибка типа: %d формат: требуется номер, а не строка

Я хочу использовать формат печати для печати строк и чисел, и у меня есть следующий код:

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, последние две печати дают мне: "Ошибка типа: %d формат: требуется число, а не строка".

Я не понимаю, почему, пожалуйста, дайте несколько советов, спасибо!

1 ответ

Вот ошибка: $s должно быть %s,

Другие вопросы по тегам