Программа: Слова после "G" / "g" (питон) - PullRequest
0 голосов
/ 10 сентября 2018

Я недавно начал изучать питон, так как хочу в будущем углубиться в область глубокого обучения. Поскольку я совершенно новый и только начал, я заранее прошу прощения, если мой вопрос глупый. В настоящее время я делаю курс по edx по введению имени в основы python, и когда я завершаю проект модуля 1, мне нужно создать программу, которая запрашивает ввод данных пользователем и выводит все слова, которые начинаются с h до z.

Задача

enter image description here

вот мой код:

user_input = input("enter a 1 sentence quote, non-alpha separate words: ")
new_name = ""
for letter in user_input:
    if letter.isalpha() == True:
        new_name += letter.upper()
    elif letter.isalpha() == False:
        if new_name[0] > "g":
            print(new_name)
            new_name = ""
        else:
            new_name = "\n"
print(new_name)

INPUT = Куда бы вы ни пошли, идите всем своим сердцем РЕЗУЛЬТАТ = ГДЕ ОЧЕНЬ УГОГОВИТАЛЬНО НАШЕ СЕРДЦЕ

По моему пониманию кода я написал: - пользователь вводит данные - проверка кода для каждого символа - если буква альфа, эта буква добавляется в переменную new_name - при первом обнаружении нет буквенных символов в этих пробелах после слова. Везде, где код перемещается в elif, поскольку после проверки первого он не был истинным, и elif обращается к критерию Маха. - затем с помощью вложенного оператора if он проверяет, является ли переменная new_name [index0] (Где бы то ни было) больше, чем g. - если это больше, то печатает new_name и делает new_name пустым и повторяет круг, пока не останется больше символов для проверки. - если его не больше, то g начинается с нового слова в новой строке

Теперь, когда мне грустно, я совершенно новичок, поэтому я только что описал свои мыслительные процессы в коде и, пожалуйста, скажи мне, где я ошибаюсь, и как я могу исправить и улучшить мой мыслительный процесс и код, упомянутый выше.

Заранее спасибо :)

1 Ответ

0 голосов
/ 10 сентября 2018

Попробуйте следующее, выполните итерацию через разделение списка строки user_input, затем проверьте, начинается ли оно с G или g, если это так, не сохраняйте его, в противном случае сохраните его, затем используйте регулярные выражения (re) для получения только букв.

Также, как вы сказали, вам нужно isalpha, тогда:

user_input = input("enter a 1 sentence quote, non-alpha separate words: ")
print('\n'.join([''.join(x for x in i if x.isalpha()).upper() for i in user_input.split() if not i.lower().startswith('g')]))

Пример вывода:

enter a 1 sentence quote, non-alpha separate words: Wheresoever you go, go with your heart
WHERESOEVER
YOU
WITH
YOUR
HEART

Форма обновления @KillPinguin:

сделать:

user_input = input("enter a 1 sentence quote, non-alpha separate words: ")
print('\n'.join([''.join(x for x in i if x.isalpha()).upper() for i in user_input.split() if ord(i[0])>ord('g')]))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...