我必须用Python编写一个将句子转换为pig Latin的程序 猪拉丁文的定义大致为:将每个单词的第一个字母放在单词的末尾,然后在每个单词的末尾添加“ ay”。 我不知道如何将第一个字母与字符串中的每个单词分开,更不用说将其添加到末尾了。我假设一旦将其删除,便可以将其连接到新单词,然后再连接“ ay” 。 我在这里迷路了。 经过无数次的尝试和错误,这就是我所拥有的,即使这似乎也不起作用。 任何帮助深表感谢。

def main():        
    sentence = input('Type what you would like translated into pig-latin and press ENTER: ')
    sentence_list = sentence.split()

    for part in sentence_list:
        first_letter = part[0]

main()

===============>>#1 票数:2

这是代码:

def main():
        lst = ['sh', 'gl', 'ch', 'ph', 'tr', 'br', 'fr', 'bl', 'gr', 'st', 'sl', 'cl', 'pl', 'fl']
        sentence = input('Type what you would like translated into pig-latin and press ENTER: ')
        sentence = sentence.split()
        for k in range(len(sentence)):
                i = sentence[k]
                if i[0] in ['a', 'e', 'i', 'o', 'u']:
                        sentence[k] = i+'ay'
                elif t(i) in lst:
                        sentence[k] = i[2:]+i[:2]+'ay'
                elif i.isalpha() == False:
                        sentence[k] = i
                else:
                        sentence[k] = i[1:]+i[0]+'ay'
        return ' '.join(sentence)

def t(str):
        return str[0]+str[1]

if __name__ == "__main__":
        x = main()
        print(x)

运行方式:

bash-3.2$ python3 pig.py
Type what you would like translated into pig-latin and press ENTER: my gloves are warm
ymay ovesglay areay armway
bash-3.2$ 

此代码使用此处找到的逻辑。

===============>>#2 票数:0

这是一个快速的

def main():
    words = str(input("Input Sentence:")).split()
    for word in words:
        print(word[1:] + word[0] + "ay", end = " ")
    print ()

main()

更好的解决方案可能是使用列表推导,因此您可以实际使用输出,但这确实满足您的要求。

编辑:这适用于python3.x如果您希望它适用于python2,您将获得更多乐趣。 只需将每个单词的字符串加在一起,然后打印结果字符串。

  ask by user3534918 translate from so

未解决问题?本站智能推荐:

1回复

将句子转换为Piglatin

所以我有一个函数,需要一个句子并以Piglatin返回。 代码如下: 当我输入一个单词时,输出效果很好,但是当我输入一个句子时,它就很麻烦了。 示例:即时消息: 我应该得到的: 如果我分别输入每个单词,我会得到正确的回报。 到底是怎么回事?
1回复

在python中将JSON字符串转换为字典[重复]

这个问题已经在这里有了答案: 如何解析JSON中的数据? 5个答案 我想将上述JSON转换为python中的字典数据类型。 在上面的脚本中,我想读取此值- 我是json的新手,所以我无法理解。 有人可以建议我一些想法吗?
1回复

在Python中将列表转换为元组[重复]

这个问题已经在这里有了答案: 将列表转换为Python中的元组 5个答案 为什么不能将列表“列表”转换为元组?
2回复

在Python中将字符串转换为整数[重复]

这个问题已经在这里有了答案: 在Python中将字符串从拆分函数转换为整数的有效方法 4答案 如何将由空格分隔的数字字符串拆分为整数? 10个答案 我有一个字符串,其中2个整数用空格隔开。 如何将此分配给2个变量? int()参数必须是字符
5回复

如何在python中将元组转换为字符串[重复]

这个问题已经在这里有了答案 : 2年前关闭。 Python将元组转换为字符串 (4个答案) 如果 然后我剥离了一个字符串列表,看起来像这样(字符
1回复

在Perl中将多维哈希转换为Python字典[重复]

这个问题已经在这里有了答案: 在Python中初始化dict的最佳方法是什么? [重复] 4个答案 我在Perl中有一个要转换为Python的程序。 现在的重点是死记硬背的翻译,然后我将继续讲它,使其更具Python风格(有很多文件和几个人在做它,所以我也不想通
7回复

如何在python中将集合转换为整数? [重复]

这个问题已经在这里有了答案: 将整数列表转换为一个数字? 15个答案 我想生成一个随机的4位数字,其中没有任何数字重复。 这将生成一个随机的4位数字集,但我希望将其作为整数。 我怎么做?
2回复

在python中将列表转换为字典[重复]

这个问题已经在这里有了答案: 如何在Python中使用列表中的键和空值初始化字典? 6个答案 我经历了许多问题,但找不到我想要的东西。 我有一个类似这样的列表: [2, 3, 5, 7, 11] 我想将其转换为以下格式的字典:即列表的值应为键,而每个关联的值
1回复

如何在Python中将嵌套列表转换为单个列表? [重复]

这个问题已经在这里有了答案: 如何从列表中制作平面列表 44个答案 以下是列表详细信息: 使用上面提到的my_list详细信息,我需要获得如下输出。 我已经尝试过使用for循环,但是没有得到预期的结果。 我得到的实际结果是: 预期结果
1回复

在Python中将字符串“ YYYYMMDDHHMMSS”转换为时间戳[重复]

这个问题已经在这里有了答案: 仅使用字符串format()方法的Python格式日期 1回答 我需要帮助在python中将字符串'20190625091115'转换为时间戳'25 -06-2019 09:11:15'。 格式为“ YYYYMMDDHHMMSS”&g