Есть ли способ, которым я могу использовать функцию «если», чтобы распечатать строку в зависимости от первой буквы исходной строки ввода? - PullRequest
0 голосов
/ 21 апреля 2019

Есть ли способ, с помощью которого я могу использовать функцию if, чтобы определить, является ли первая буква строки гласной, а если нет, то напечатать что-нибудь еще?

Я провел немало исследований иответы, которые я нашел, были слишком далеко, чтобы я мог понять.Это небольшая задача, которую я поставил перед собой на основе «Переводчика Pyg Latin» CodeAcademy

translate = input("Translate: ")
cons = "ay"
vowel = "way"
if len(translate) > 0:
    switch = str(translate[0])
    if str(translate[0]) != "a, e, i, o, u":
        new_word = str(translate) + str(switch) + str(cons)
        print (new_word.lower())

else:
    new_word = str(translate) + str(vowel)
    print (new_word.lower())

else:
    print("Please type something")

Задача состоит в том, чтобы добавить «Way» или «Ay» в зависимости от того, начинается ли «translate» сгласнаяЯ чувствую, как будто я пропускаю что-то совершенно очевидное, но я не могу понять это.Программа в значительной степени игнорирует строку 6, Джордан выходит, как Джорданжей Эндрю выходит как Андрей,

1 Ответ

0 голосов
/ 22 апреля 2019

в строке:

if str(translate[0]) != "a, e, i, o, u":

вы берете первую букву перевода (перевод [0])

например, у вас есть translate = 'example', первая буква - 'e'

вы сравниваете (! = Что означает РАЗНОЕ) 'e' с другой строкой "a, e, i, o, u", ваша первая буква будет всегда отличаться от строки "a, e, i, o, u ", вам нужно проверить, нет ли вашего первого письма в этой строке, вы можете использовать:

if str(translate[0]) not in "a, e, i, o, u":

или вы можете проверить, что вашего письма нет в списке:

if str(translate[0]) not in ['a', 'e', 'i', 'o', 'u']:

Как проверить, есть ли что-то (нет) в списке в Python? Самое дешевое и удобочитаемое решение - использование оператора in (или, в вашем конкретном случае, не in) Как указано в документации,

Операторы в и не в проверяют членство. х в с оценивается в True, если x является членом s, и False в противном случае. x не в с отрицание х в с.

Дополнительно

Оператор , не входящий в , имеет обратное истинное значение в .

y не в x логически совпадает с y в x.

Вот несколько примеров:

'a' in [1, 2, 3]
# False

'c' in ['a', 'b', 'c']
# True

'a' not in [1, 2, 3]
# True

'c' not in ['a', 'b', 'c']
# False
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...