Вращение букв на фиксированное количество мест [программирование на Python] - PullRequest
0 голосов
/ 07 декабря 2018

Я новичок в программировании на Python и хотел бы написать программу, которая имеет следующие требования:

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

Например, ввод - ABCDZ 3 Затем вывод - DEFGC

def rotate(input,d): 

Rfirst = input[0 : len(input)-d] 
Rsecond = input[len(input)-d : ] 

print "Right Rotation : ", (Rsecond + Rfirst) 

Однако я сам написал несколько кодови оказалось, что я мог поворачивать только символ в ABCDZ, например, ZABCD, а не шаблон вращения, продиктованный требованием.

Кто-нибудь хотел бы помочь по этому вопросу?Как начать с правильного направления?Большое спасибо всем вам.Я очень расстроен ..

1 Ответ

0 голосов
/ 07 декабря 2018

Может ли это работать?

def rotate_str(mstr, n):
  reverse = False
  if n < 0:
    n, reverse = - n, True
  for _ in range (0,n):
    if not reverse: mstr = mstr[-1] + mstr[0:-1]
    if reverse: mstr = mstr[1:] + mstr[0]
  return mstr

Отрицательное n меняет направление вращения на противоположное.

mstr = 'ABCDZ'
print(rotate_str(mstr, 3)) #=> CDZAB
print(rotate_str(mstr, -4)) #=> ZABCD
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...