如何提取字符长度为奇数的单词的后半部分

时间:2019-05-16 18:37:25

标签: python

我正在尝试翻译:

  • 如果单词的长度为奇数,它将交换单词的后半部分,将字符保持在中间位置,并将其与前半部分交换。
  • 如果单词的长度是偶数,则会将单词的后半部分与前半部分交换。

如何做到这一点,以便我可以将单词的后半部分(将中间字符保持在之前的位置)换成前半部分?

phrase = input("Phrase: ")

if len(phrase.split()) > 1:
    WORDS = phrase.split()

    if len(WORDS[0]) % 2 != 0:
        print(WORDS[0][-(len(WORDS) / 2 - 1):])

1 个答案:

答案 0 :(得分:3)

word = "abcde"
if len(word) % 2 != 0:
    print(word[len(word) // 2 + 1:] + word[len(word) // 2] + word[:len(word) // 2])
else:
    print(word[len(word) // 2:] + word[:len(word) // 2])

输出:

"decab" # for word = "abcde"
"cdab" # for word = "abcd"

如果要将c保留为ab,则只需要一行,而不管它是奇数还是偶数:

word = "abcde"
print(word[len(word) // 2 + 1:] + word[:len(word) // 2 + 1])

输出:

"deabc"