Как убрать последний пробел? - PullRequest
0 голосов
/ 08 ноября 2019

Мне нужно выбрать каждую третью букву из предложения (начиная с первой буквы) и распечатать эти буквы с пробелами между ними.

Таким образом, программа должна выглядеть следующим образом:

Message? cxohawalkldflghemwnsegfaeap
c h a l l e n g e

Я написал следующий код:

n = input("Message? ")
for i in range(0,len(n),3):
  print(n[i],end=" ")

Однако в конце вывода я получаю пробел. Пожалуйста, помогите мне. Я новичок в Python.

Спасибо

Ответы [ 5 ]

1 голос
/ 08 ноября 2019

Использовать нарезку с шагом аргумента.

Пример:

s = 'cxohawalkldflghemwnsegfaeap'
print(" ".join(s[::3]))

Выход:

c h a l l e n g e
0 голосов
/ 08 ноября 2019

Вы можете использовать следующее решение:

s = 'cxohawalkldflghemwnsegfaeap'

print(*s[::3])

Вывод:

c h a l l e n g e
0 голосов
/ 08 ноября 2019

Вместо прямой печати выходных данных вы можете вставить чанки в одну переменную и удалить последний символ входного значения.

n = input("Message? ")
x = ""
for i in range(0,len(n),3):
  x = x + n[i] + " "
x = x[:-1]
print(x,end="")
0 голосов
/ 08 ноября 2019
Символ

* используется для печати элементов списка в одну строку с пробелом

n = input("Message? ")
ans = ""
for i in range(0,len(n),3):
    ans += n[i]

print(*ans)
0 голосов
/ 08 ноября 2019

Вы можете использовать функцию join, она автоматически удаляет последний пробел.

n = input("Message? ")
print(" ".join(n[i] for i in range(0, len(n), 3)))

Простой способ понять, как это работает.

n = input("Message? ")
letters = []
for i in range(0, len(n), 3):
    letters.append(n[i])
print(" ".join(letters))
...