如果
>>> (1,2)*2
>>> (1,2,1,2)为什么这不管用?
'%d %d %d %d' % (1,2)*2
TypeError: not enough arguments for format string还有其他方法可以做到这一点而不必显式地构造元组吗?
发布于 2013-08-22 19:57:34
您需要添加一对括号:
'%d %d %d %d' % ((1,2)*2)在Python中, have the same precedence,所以您的代码相当于
('%d %d %d %d' % (1,2))*2这两个操作符具有相同优先级的原因是,%也是余数运算符,因此被认为与乘法和除法属于同一范畴。
发布于 2013-08-22 19:57:37
只需添加一个额外的括号:
>>> '%d %d %d %d' % ((1,2)*2)
'1 2 1 2'
>>>目前,您的代码试图使用(1,2)生成字符串,然后将该字符串乘以2。
https://stackoverflow.com/questions/18389710
复制相似问题