Python程序将辅音连续移动到字符串末尾,直到第一个字母

2024-06-14 05:14:43 发布

您现在位置:Python中文网/ 问答频道 /正文

例如,如果我输入bob,它应该给我obb。同样,类似plank的东西应该给我ankpl。在

s = input("What word do you want translated?")
first = s[0]
vowel = "aeiou"
for i in range (1, len(s)):
     if first in vowel:
        s = s + "way"
        print (s)
else:
        s = s[1:] + s[0]
        print (s)

目前这只给了我lankp作为plank。 谢谢!在


Tags: inyouinputdowhatwordfirstbob
3条回答

您只设置first = s[0]一次,并且在循环之前完成。你可能想在for循环中设置它。在

搜索元音然后将字符串旋转一次可能会更有效一些:

vowels = 'aeiou'

for index, character in enumerate(s):
    if character in vowels: break

s = s[index:] + s[:index]

实际上可以简化得多:

s = raw_input("What word do you want translated?").strip()
vowel = set("aeiou")
if vowel & set(s):
    while s[0] not in vowel:
        s = s[1:] + s[0]
    print s
else:
    print "Input has no vowels"

相关问题 更多 >