Невозможно остановить инструкцию Python 2.x print
от печати пробела при использовании «магической запятой».
Это часть print
функции Reason Python 3.x является более гибким, используя именованные аргументы вместо магического синтаксиса:
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
в конце концов, вместо того, чтобы постоянно добавляя в строку:
output = []
for letters in word:
output.append(chr(ord(letters)+5))
print ''.join(output)
И вы можете сделать что проще (и даже более fasterer) путем поворота петли в comprehension вместо заявления:
print ''.join(chr(ord(letters) + 5) for letters in word)
спасибо, это работает, но как это работает? О чем мне нужно читать? Это струнные манипуляции? спасибо – BubbleMonster
[This] (http://docs.python.org/2/library/stdtypes.html#str.join) должен предоставить вам информацию о '. '.join' и [this] (http://docs.python.org/2/tutorial/datastructures.html#list-comprehensions) для остальной части. – qaphla