如何获得此猪拉丁代码的功能?

时间:2019-03-09 08:15:00

标签: python python-3.x

我编写的这个猪拉丁代码似乎很好,但是它要求输入,然后输出输入本身。怎么了?

def pig_latin(string_x):
    word_list=string_x.split()
    for item in word_list:
        if (item[:1]).lower() in ["a",'e','i','o','u']:
            item+='ay'
        else:
            item=item[1:]+item[:1]+'ay'
    print(" ".join(word_list))

x=input()
pig_latin(x) 

2 个答案:

答案 0 :(得分:0)

def pig_latin(string_x):
    word_list = string_x.split()
    translated = []
    for item in word_list:
        if (item[:1]).lower() in ["a", 'e', 'i', 'o', 'u']:
            item += 'ay'
        else:
            item = item[1:] + item[:1] + 'ay'
        translated.append(item)
    print(" ".join(translated))

x = input("Input something : ")
pig_latin(x)

有一些问题:

  • 如果要接受用户输入,则需要使用input代替str
  • 您需要能够存储您创建的项目,以防用户输入多个单词,因此我创建了translated列表。
  • 您要在输出中打印单词列表,这只是输入的拆分版本。

答案 1 :(得分:0)

分配给item时,将更改变量item,但不会更改列表中该元素的值。您想要类似的东西:

def pig_latin(string_x):
    word_list=string_x.split()
    new_word_list = []
    for item in word_list:
        if (item[:1]).lower() in ["a",'e','i','o','u']:
            new_word_list.append(item+'ay')
        else:
            new_word_list.append(item[1:]+item[:1]+'ay')
    print(" ".join(new_word_list))

x=input()
pig_latin(x)