【问题标题】:Not enought argument for format string格式字符串的参数不足
【发布时间】:2015-11-16 22:28:25
【问题描述】:
print ("He's got %s eyes and %s hair.\n\
        His teeth are usually %s depending on the coffe.\n\
        if I add %d, %d, and %d I get %d." % (
          my_eyes, my_hair, my_age, my_teeth,
          my_height, my_weight, my_age + my_height + my_weight))

错误:格式字符串的参数不足

【问题讨论】:

  • print ("他有 %s 的眼睛和 %s 的头发。\n\ ` 根据咖啡的不同,他的牙齿通常是 %s。\n\ 如果我加上 %d、%d 和 % d 我得到 %d。" %(my_eyes, my_hair, my_age, my_teeth, my_height, my_weight, my_age + my_height + my_weight)))
  • 请重新格式化您的问题,说明您使用的语言以及遇到的错误。
  • 对此我很抱歉。

标签: python format


【解决方案1】:

这个模板系统已经很老了。您必须不断跟踪变量的类型。很不舒服。

在您的代码中,您有第三个插入 %s 与变量 my_age 相关联,这可能不是 %s 期望的字符串变量。

如果你将my_age, my_teeth 换成my_teeth, my_age,你会得到你所期望的。

我可以向您推荐新的 .format 模板系统吗?

template = ("He's got {} eyes and {} hair.\n"
            "His teeth are usually {} depending on the coffe.\n"
            "if I add {}, {}, and {} I get {}.")
values = (my_eyes, my_hair, my_teeth, my_age,
          my_height, my_weight, my_age + my_height + my_weight)
print(template.format(*values))

【讨论】:

    猜你喜欢
    • 2013-10-27
    • 1970-01-01
    • 2020-04-10
    • 2020-04-12
    • 2012-06-24
    • 2020-10-17
    • 2015-10-16
    • 2012-06-11
    相关资源
    最近更新 更多