我正在尝试修复代码中的'if w [0] not in元音:'部分(用于处理以辅音开头的单词。但是返回值不是应该的,我也不知道为什么!
def encrypt(w):
'''
encrypt to pig latin
'''
Lstw = list(w)
y = 0
if w[0:2] == 'qu':
PLw = []
for element in vowel:
#find first occurence of vowel in 'qu...'
y = w.find(element)
#if vowel found, y = 0
if y != -1:
#terminate loop and continue to line 22
break
x = w[0:y]
PLw.append(w[y:] + '-' + x + 'ay')
return PLw[0]
if w[0] in vowel:
PLw = []
PLw.append(w + '-way')
return PLw[0]
if w[0] not in vowel:
PLw = []
for element in vowel:
v = w.find(element)
if v != -1:
break
PLw.append(w[v:] + '-' + w[0:v] + 'ay')
return PLw[0]
else:
if w[1] in vowel:
PLw = []
x = w[0]
PLw.append(w[1:] + '-' + x + 'ay')
return PLw[0]
print(encrypt('yesterday'))
print(encrypt('STRENGTH'))
应该返回
>>> esterday-yay
>>> ENGTH-STRay
当前返回
>>> ay-yesterday
>>> H-STRENGTay
答案 0 :(得分:0)
我马上看到三个错误;可能还会更多。
vowel
列表仅小写,这就是为什么大写字母输入会中断的原因。