Я новичок в python, помогите мне понять это, одна строка кода?

#python

#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» что-то еще?

Извините, я только начал изучать python 5 дней назад.

Комментарии:

1. Он просто проверяет, является ли буква гласной. Вы также можете использовать if letter in "aeiou" or letter in "AEIOU'

Ответ №1:

letter.lower() преобразуется letter в его эквивалент в нижнем регистре.

in используется для проверки, является ли что-то членом коллекции или последовательности. В этом случае последовательность — это символы в строке "aeiou" .

Итак, это проверяет, является ли строчная версия letter одним из символов в этой строке, т. Е. Проверяет, является ли letter гласная.

Ответ №2:

В строке if letter.low() in "aeiou":

Прежде всего, вы преобразуете букву (она может быть в верхнем или нижнем регистре) в нижний регистр. Затем вы проверяете, находится ли она в «aeiou» или нет, если буква есть в «aeiou», тогда следующий оператор if будет выполнен.

Ответ №3:

 [left] in [right]
  

говорит, запустите поиск [слева] в стороне [справа]. Если он найден, то [слева] в [справа] означает true . в противном случае это означает false .

 if [condition] :
  [action]
  

говорит выполнить действие, если [условие] истинно.

письмо.lower(), как вы нашли, означает дать мне версию в нижнем регистре.

По сути, код, похоже, перестраивает строку по буквам. Он добавит букву, если буква не является гласной, и добавит G или g в регистр гласной в противном случае.

Он определяет, является ли что-то гласным, сверяя его с группой, содержащей то, что он считает гласными.

Ответ №4:

это просто преобразование в нижний регистр, потому что все проверяемые гласные находятся в нижнем регистре. Если вы измените то, что вы проверяете, вы можете удалить преобразование в нижний регистр, и это будет работать точно так же:

 if letter in "aeiouAEIOU":
  

Ответ №5:

Когда вы выполняете in проверку в Python, вы проверяете, есть ли «вещь», которую вы проверяете, в какой-то коллекции других вещей. Поскольку вы только начали изучать, мы будем использовать строки в качестве примера «коллекции вещей», но знайте, что в python она может быть расширена для любого типа коллекций: списков, кортежей, словарей и некоторых других.

когда вы просите python выполнить проверку:

 if "a" in "aA":
    print("exists in string")
else:
    print("does not exist in string")
  

вы спрашиваете, встречается ли a (то, что вы ищете) хотя бы один раз в строке (которая в данном случае является коллекцией) aA . Поскольку это так, приведенный выше код будет напечатан : exists in string .

Обратите внимание, что мы можем выполнить in проверку элемента для более чем одной символьной строки:

 if "aa" in "aaB":
    print("yes")
else:
    print("no")
  

также будет печатать yes , поскольку 'aa' действительно встречается в строке 'aaB' . Это только для точных совпадений. Рассмотрим:

 if "aa" in "aBaB":
    print("yes")
else:
    print("no")
  

будет печататься 'no' , поскольку точная строка 'aa' не встречается, 'abab' даже если у нас есть 2 a ‘s.

.lower() функция строка в if инструкции просто сначала вводит всю строку в нижний регистр, прежде чем выполнять проверку.

Ответ №6:

if letter.lower() in "aeiou": чтобы определить ввод в нижнем регистре для aeiou