我正在尝试这个,其中i
是一个整数:
sys.stdout.write('\thello world %d.\n' % i+1)
它说“不能连接str和int”。我尝试了各种组合:
int(i) + 1
i + int(1)
......但它不起作用
答案 0 :(得分:6)
sys.stdout.write('\thello world %d.\n' % (i+1))
注意括号。
(%
运算符绑定比+
运算符更紧密,因此您最终尝试将1添加到格式化字符串,这是一个错误。)
答案 1 :(得分:2)
怎么样:
sys.stdout.write('\thello world %d.\n' % (i+1))
Python将你的方式解释为('...'%i)+ 1
答案 2 :(得分:1)
str.format
,您甚至不必担心{{的优先级1}}和%
此处。
+
或问题的标题建议 - 使用打印声明
sys.stdout.write('\thello world {}.\n'.format(i+1))
在Python3中,print '\thello world {}.'.format(i+1)
是一个函数,所以你需要像这样调用它
print
†在Python2.6中,您需要使用print('\thello world {}.'.format(i+1))
代替普通{0}