我是python新手,帮我理解一下,一行代码?

2024-06-28 10:47:43 发布

您现在位置:Python中文网/ 问答频道 /正文

def translate(phrase):
    translation = ""
    for letter in phrase:
        if letter.lower() in "aeiou":
            if letter.isupper():
                translation = translation + "G"
            else:
                translation = translation + "g"
        else:
            translation = translation + letter
    return translation


print(translate(input("Enter a phrase: ")))

其余的代码对我来说没问题。我想是吧。 除了这个。我不明白

if letter.low() in "aeiou":

你是怎么读的

如果字母在“aeiou”中是小写的? “in”代表别的意思吗

对不起,我5天前才开始学习python


Tags: inforinputreturnifdeftranslationlower
3条回答
[left] in [right]

表示在侧[右]中搜索[左]。如果找到,则[右]中的[左]表示为真。否则就意味着虚假

if [condition] :
  [action]

表示如果[条件]为真,则执行操作

letter.lower()的意思是给我小写版本

基本上,代码似乎是在按字母重新构建字符串层。如果字母不是元音,它将添加字母,否则将在元音的大小写中添加G或G

它通过对照包含它所认为的元音的组来确定某事物是否是元音

letter.lower()letter转换为它的小写等价物

in用于测试某物是否是集合或序列的成员。在本例中,序列是字符串"aeiou"中的字符

因此,这将测试letter的小写版本是否是该字符串中的字符之一,也就是说,它测试letter是否是元音

if letter.low() in "aeiou":行中

首先,将字母(可以是大写或小写)转换为小写。然后检查它是否在“aeiou”中,如果字母在“aeiou”中,那么将执行下一个if语句

相关问题 更多 >