Самый простой способ получить из текста только заглавные буквы и распечатать их?

#python

Вопрос:

Я просто хочу ввести текст:

 text = input('Your text: ')  

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

Что означает самый простой способ? — Ну, постарайтесь не использовать функции, списки и тому подобное. Постарайтесь сделать программу как можно проще. Заранее спасибо.

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

1. Это будет трудно сделать с учетом ваших ограничений.

2. Что вы уже пробовали? Мы будем рады дать вам обратную связь, но здесь не место просить кого-то решить эту проблему.

Ответ №1:

 for char in text:  if char.isupper():  print(char)  

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

1. Огромное спасибо. Но как я могу напечатать их в одной строке?

2. print(char, end="") перестанет выводить новые строки print

3. печать(символ, конец=»»)

Ответ №2:

Несколько встроенных способов сделать это:

Понимание списка:

 uppercase_chars = [char for char in text if char.isupper()]  

Функции фильтра:

 uppercase_chars = filter(str.isupper,text)  

Хотя оба этих ответа возвращают списки, мы можем легко свернуть их в строки, используя str.join примерно так:

 ''.join(uppercase_chars)  

Они не так просты, как ответ BVB44, но их гораздо чаще можно увидеть в реальном коде.

Ответ №3:

Используйте цикл for, чтобы проверить, является ли каждый символ прописным, и добавьте его в новую переменную, если это так. Как это работает: Для каждого символа в переменной my_string Python проверяет , является ли символ прописным. Если это так, он добавляет его в переменную output . Это держит все на одной линии.

 my_string = input("Type some stuff ") output = '' for char in my_string:  if char.isupper():  output = output   char print(output)