我在ubantu版本16.04中使用ipython notebook并运行此代码,
word = 'Rushiraj'
length = 0
for char in 'rushiraj':
length = length + 1
print('There are', length,'character')
我得到这个输出: ('有',8,'字符')
输出中单引号和圆括号的原因是什么?它应该不存在!
答案 0 :(得分:4)
您看到的输出是由于您使用的是Python 2,但您使用的是Python 3中的print
语法。在Python 3中,print
是一个函数并像其他函数一样获取参数(如print(...)
)。
在Python 2中,print
是一个语句,通过使用括号,您实际上将tuple
作为其第一个参数传递给它(因此您打印出元组的Python表示形式)。 / p>
您可以通过两种方式解决此问题。
如果您将from __future__ import print_function
添加到文件顶部,那么print
的行为就像在Python 3中一样。
或者,您可以将其称为:
print 'There are', length,'character'
答案 1 :(得分:0)
你正在打印一个元组(即使乍一看可能看起来不那样),所以输出是该元组的重复。