python 我如何将“ay”添加到从用户输入中获得的任何单词中,并将两者连接为一个单词

pn9klfpd  于 2023-06-20  发布在  Python
关注(0)|答案(3)|浏览(136)
my_word=input("enter your word\n").lower()

vowel="aeiou"

pig=my_word+"ay"

if my_word[0] in vowel:

  print('pi')

假设用户的输入是“全能的”,那么我的最终结果是“全能的”,事实上我需要的是最终结果是“全能的”,那么我该怎么做呢

iq0todco

iq0todco1#

只需要在print语句中进行连接的地方打印pig字符串。

my_word=input("enter your word\n").lower()

vowel="aeiou"

pig=my_word+"ay"

if my_word[0] in vowel:

  print('pi')
  print(pig)
kx5bkwkv

kx5bkwkv2#

你的代码已经实现了你正在寻找的东西。python中的字符串连接不会在字符串之间添加空格。如果给予'allighty'并输出变量pig,它将输出almightyay。

my_word=input("enter your word\n").lower()

vowel="aeiou"

pig=my_word+"ay"

print(pig)

在这里查看更多Python字符串连接的示例:https://www.w3schools.com/python/gloss_python_string_concatenation.asp

7uhlpewt

7uhlpewt3#

我想你的代码应该不止一个单词。这里有一个将输入转换为Pig Latin的程序。最好通过运行各种输入并检查translate_word函数中parts的值来理解。
链接到重新拆分

import re

def translate(text: str) -> str:
    return ' '.join([translate_word(w) for w in text.split()])

VOWELS = 'a|e|i|o|u'
CONSONANTS = f'[^{VOWELS}]'

def translate_word(word: str) -> str:
    parts = re.split(rf'({VOWELS}|{CONSONANTS}*qu|xr|y)', word)
    parts = [w for w in parts if w]
    if not (
            re.match(rf'^{VOWELS}|xr', parts[0]) or
            (parts[0] == 'y' and re.match(rf'^{CONSONANTS}', parts[1]))
    ):
        fst = parts.pop(0)
        parts.append(fst)

    parts.append('ay')

    return ''.join(parts)

相关问题