Python算法 — Pig Latin 改字游戏

Pig Latin是一个英语文字改写游戏,规则如下:

1、元音字母是‘a’、‘e’、‘i’、‘o’、‘u’。字母‘y’在不是第一个字母的情况下,也被视作元音字母。其他字母均为辅音字母。例如,单词“yearly”有三个元音字母(分别为‘e’、‘a’和最后一个‘y’)和三个辅音字母(第一个‘y’、‘r’和‘l’)。

2、如果英文单词以元音字母开始,则在单词末尾加入“hay”后得到“Pig Latin”对应单词。例如,“ask”变为“askhay”,“use”变为“usehay”。

3、如果英文单词以‘q’字母开始,并且后面有个字母‘u’,将“qu”移动到单词末尾加入“ay”后得到“Pig Latin”对应单词。例如,“quiet”变为“ietquay”,“quay”变为“ayquay”。

4、 如果英文单词以辅音字母开始,所有连续的辅音字母一起移动到单词末尾加入“ay”后得到“Pig Latin”对应单词。例如,“tomato”变为“omatotay”, “school” 变为“oolschay”,“you” 变为“ouyay”,“my” 变为“ymay ”,“ssssh” 变为“sssshay”。

5、如果英文单词中有大写字母,必须所有字母均转换为小写。

代码:

def fun1(x):
  if x[0] in "aeiou":
      x=x+'hay'
      return x
  elif x[:2]=='qu':
      x=x[2:]+'quay'
      return x
  else:
      x=x[1:]+x[0]
      count=0
      while x[0] not in "aeiouy" and count<=(len(x)-2):
         x=x[1:]+x[0]
         count+=1
      x=x+'ay'
      return x

my_str=raw_input()
my_strp=my_str.lower()
f=my_strp.split()
b=[]
c=''
for i in  range(len(f)):
  b.append(fun1(f[i]))
  c=' '.join(b)
print c

最后

如果对软件测试、接口测试、自动化测试、软件测试零基础入门、性能测试、LR脚本开发、python自动化全栈、面试经验感兴趣可以175317069,群内会有不定期的发放免费的资料链接。如果你有好的学习也资料可以私聊发我,我会注明出处之后分享给大家。

好看的小哥哥小姐姐们点个【赞】、【关注】吧 罒ω罒

你可能感兴趣的:(python,软件测试,面试题)