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)
Как уже писали, проще всего и понятнее всё-таки так, для любого 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
Get help from others!
Recent Questions
Recent Answers
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP