python中的打印语句异常[重复]

Posted

技术标签:

【中文标题】python中的打印语句异常[重复]【英文标题】:Anomaly in print statement in python [duplicate] 【发布时间】:2017-04-05 16:08:37 【问题描述】:

假设我在 python 中有一个print 语句:

print "components required to explain 50% variance : %d" % (count)

这个语句给出了ValuError,但是如果我有这个print 语句:

print "components required to explain 50% variance"

为什么会这样?

【问题讨论】:

print "components required to explain 50%% variance : %d" % (count) .format 更复杂,只是提醒一下 【参考方案1】:

% 运算符应用于字符串,对字符串中的每个 '%' 执行替换。 '50%' 没有指定有效的替换;要在字符串中简单地包含一个百分号,您必须将其加倍。

【讨论】:

【参考方案2】:

错误信息在这里很有帮助:

>>> count = 10
>>> print "components required to explain 50% variance : %d" % (count)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: unsupported format character 'v' (0x76) at index 35

所以python看到% v就认为是格式码。但是,v 不是受支持的格式字符,因此会引发错误。

修复一旦你知道就很明显了——你需要转义不属于格式代码的%s。你是怎样做的?通过添加另一个%

>>> print "components required to explain 50%% variance : %d" % (count)
components required to explain 50% variance : 10

请注意,您也可以使用.format,这在很多情况下更方便、更强大:

>>> print "components required to explain 50% variance : :d".format(count)
components required to explain 50% variance : 10

【讨论】:

以上是关于python中的打印语句异常[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Eclipse中的控制台打印顺序[重复]

java异常处理中的return语句[重复]

python中的if循环怎么样?

如果插入语句给出重复键异常(在表中找到行 id=1)如何更新 JDBC(Postgresql)中的语句

python中的异常类的认识理解?

美丽的汤正则表达列表中的Python循环[重复]