PigLatin/Stephan
PigLatin/sver
f1import ref1import re
22
33
4def translate(word):4def translate(word):
5    d = re.findall(r'[-/:`(),.!?;"\[\]\d+*{}\\_=]', word)5    d = re.findall(r'[-/:`(),.!?;"\[\]\d+*{}\\_=]', word)
6    k = '' if len(d) == 0 else d[0]6    k = '' if len(d) == 0 else d[0]
7    if k != '':7    if k != '':
8        return k.join(map(lambda a: translate(a), word.split(k)))8        return k.join(map(lambda a: translate(a), word.split(k)))
nn9 
10    # if re.match(r'^[0-9]+\D', word):
11    #     num = re.findall('^[0-9]+', word)[0]
12    #     return num.join(map(lambda a: translate(a), word.split(num)))
913
10    capital = bool(re.match('^[A-Z]', word))14    capital = bool(re.match('^[A-Z]', word))
11    if len(re.findall('[aoieuAOIEU]', word)) == 0:15    if len(re.findall('[aoieuAOIEU]', word)) == 0:
12        return word16        return word
13    elif len(re.findall('[aoieuAOIEU]', word)) == 1 and re.match('^[aoieuAOIEU]', word):17    elif len(re.findall('[aoieuAOIEU]', word)) == 1 and re.match('^[aoieuAOIEU]', word):
14        return word + 'yay'18        return word + 'yay'
15    elif re.match('^[^aoieuAOIEU]', word) or re.match('^[aouieAOIEU]', word):19    elif re.match('^[^aoieuAOIEU]', word) or re.match('^[aouieAOIEU]', word):
16        if re.match('^[^aoieuAOIEU]', word):20        if re.match('^[^aoieuAOIEU]', word):
17            sp = re.split('(^[^aouieAOIEU]+)', word)21            sp = re.split('(^[^aouieAOIEU]+)', word)
18        elif re.match('^[aouieAOIEU][aouie]', word):22        elif re.match('^[aouieAOIEU][aouie]', word):
19            sp = re.split('(^[aouieAOIEU])', word)23            sp = re.split('(^[aouieAOIEU])', word)
20        else:24        else:
21            sp = re.split('(^[aouieAOIEU]+[^aouieAOIEU]+)', word)25            sp = re.split('(^[aouieAOIEU]+[^aouieAOIEU]+)', word)
22        if capital:26        if capital:
23            sp[2] = sp[2][0].upper() + sp[2][1:]27            sp[2] = sp[2][0].upper() + sp[2][1:]
24            return ''.join([sp[2], sp[1].lower(), 'ay'])28            return ''.join([sp[2], sp[1].lower(), 'ay'])
25        else:29        else:
26            return ''.join([sp[2], sp[1], 'ay'])30            return ''.join([sp[2], sp[1], 'ay'])
2731
2832
n29cv = input()n33s = input()
30res = []34res = []
t31while cv != '':t35while s != '':
32    res.append(' '.join(map(lambda w: translate(w), cv.split(' '))))36    res.append(' '.join(map(lambda w: translate(w), s.split(' '))))
33    cv = input()37    s = input()
3438
35for w in res:39for w in res:
36    print(w)40    print(w)
3741
Legends
Colors
 Added 
Changed
Deleted
Links
(f)irst change
(n)ext change
(t)op