TransWikia.com

Сдвинуть символы в строке

Stack Overflow на русском Asked by bzmaxat on November 30, 2021

Необходимо сдвинуть символы в строке вправо n раз. Например:

input:  'qwertyuiopL'
output: 'wertyuiopLq'

Мой код:

s = 'qwertyuiopL'
n = 10
s = s[-n:] + s[:-n]
print(s)

Проблема в том, что, это работает только когда n > len(s)

3 Answers

Как уже писали, проще всего и понятнее всё-таки так, для любого n:

s = 'qwertyuiopL'
n = 123
print(s[n % len(s):] + s[:n % len(s)])

Answered by CrazyElf on November 30, 2021

Если я правильно понял задачу то что-то вот такое

n = 10
inp = 'qwertyuiopL'
inp_l = list(inp)
for i in range(n):
    inp_l.insert(len(inp_l), inp_l.pop(0))

print(''.join(inp_l))

Answered by Namerek on November 30, 2021

from collections import deque
s = 'qwertyuiopL'
d = deque(s)
d.rotate(-1)
print(''.join(list(d)))

wertyuiopLq

Answered by strawdog on November 30, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP