print
当您使用“魔术逗号”时,无法阻止 Python 2.x 的语句打印空格。
这是 Python 3.x 的print
函数更灵活的部分原因,它使用关键字参数而不是魔术语法:
for letters in word:
print(chr(ord(letters)+5), end='')
如果你真的想要,你可以在 Python 2.x 中使用from __future__ import print_function
(或使用第三方six
库)获得相同的行为。
但是,通常,当您在print
做自己想做的事情时遇到问题时,解决方案是首先格式化您的字符串,然后打印它。所以:
output = ''
for letters in word:
output += chr(ord(letters)+5)
print output
建立一个list
字符串并在最后调用join
,而不是重复附加到一个字符串,通常更pythonic(并且更快):
output = []
for letters in word:
output.append(chr(ord(letters)+5))
print ''.join(output)
您可以通过将循环转换为理解而不是语句来使其更简单(甚至更快) :
print ''.join(chr(ord(letters) + 5) for letters in word)