我正在制作一个程序来接受一个句子,将每个单词转换为猪拉丁语,然后将其作为一个句子吐出来。我不知道我搞砸了哪里。我输入一个句子并运行它,然后说
内置方法低于str对象0x03547D40
s = input("Input an English sentence: ")
s = s[:-1]
string = s.lower
vStr = ("a","e","i","o","u")
def findFirstVowel(word):
for index in range(len(word)):
if word[index] in vStr:
return index
return -1
def translateWord():
if(vowel == -1) or (vowel == 0):
end = (word + "ay")
else:
end = (word[vowel:] + word[:vowel]+ "ay")
def pigLatinTranslator(string):
for word in string:
vowel = findFirstVowel(word)
translateWord(vowel)
return
print (string)
答案 0 :(得分:1)
您错误地使用了较低的方法。
您应该像string = s.lower()
一样使用它。
括号改变了一切。当您不使用它时,Python返回一个对象。
内置函数应始终使用()
答案 1 :(得分:0)
以下是应该运行的代码的更正版本:
s = input("Input an English sentence: \n").strip()
string = s.lower() #lowercasing
vStr = ("a","e","i","o","u")
def findFirstVowel(word):
for idx,chr in enumerate(word):
if chr in vStr:
return idx
return -1
def translateWord(vowel, word):
if(vowel == -1) or (vowel == 0):
end = (word + "ay")
else:
end = (word[vowel:] + word[:vowel]+ "ay")
def pigLatinTranslator(string):
for word in string:
vowel = findFirstVowel(word)
translateWord(vowel,word)
return
print(string)