简单的Python。不知道为什么我的程序输出这个

时间:2016-03-27 23:16:00

标签: python-3.x output

我正在制作一个程序来接受一个句子,将每个单词转换为猪拉丁语,然后将其作为一个句子吐出来。我不知道我搞砸了哪里。我输入一个句子并运行它,然后说

内置方法低于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) 

2 个答案:

答案 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)