Как вывести первую букву слова python
Перейти к содержимому

Как вывести первую букву слова python

  • автор:

Как вывести первую букву слова python

Сообщений: 3,002

Вывести слитно первые буквы каждого слова предложения в верхнем регистре

здравствуйте
нужно получить СГЭУ, как сделать?, то есть если слово в скобках то брать вторую букву
что-то типа:

s = 'Самарский (государственный) экономический университет' print(''.join(word[0].upper() for word in s.split() if word[0] == '(': word[1].upper()))
Ципихович Эндрю
Посмотреть профиль
Найти ещё сообщения от Ципихович Эндрю

Архимед Python 19/20

Строка считывается со стандартного ввода функцией input() . Напомним, что для двух строк определа операция сложения (конкатенации), также определена операция умножения строки на число.

Строка состоит из последовательности символов. Узнать количество символов (длину строки) можно при помощи функции len :

>>> S = 'Hello' >>> print(len(S)) 5

Срез (slice) — извлечение из данной строки одного символа или некоторого фрагмента подстроки или подпоследовательности.

Есть три формы срезов. Самая простая форма среза: взятие одного символа строки, а именно, S[i] — это срез, состоящий из одного символа, который имеет номер i , при этом считая, что нумерация начинается с числа 0. То есть если , то , , , , .

Номера символов в строке (а также в других структурах данных: списках, кортежах) называются индексом.

Если указать отрицательное значение индекса, то номер будет отсчитываться с конца, начиная с номера -1 . То есть , , , , .

Или в виде таблицы:

Строка S H e l l o
Индекс S[0] S[1] S[2] S[3] S[4]
Индекс S[-5] S[-4] S[-3] S[-2] S[-1]

Если же номер символа в срезе строки S больше либо равен len(S) , или меньше, чем -len(S) , то при обращении к этому символу строки произойдет ошибка IndexError: string index out of range .

Срез с двумя параметрами: S[a:b] возвращает подстроку из b-a символов, начиная с символа c индексом a , то есть до символа с индексом b, не включая его. Например, S[1:4]==’ell’ , то же самое получится если написать S[-4:-1] . Можно использовать как положительные, так и отрицательные индексы в одном срезе, например, S[1:-1] — это строка без первого и последнего символа (срез начинается с символа с индексом 1 и заканчиватеся индексом -1, не включая его).

При использовании такой формы среза ошибки IndexError никогда не возникает. Например, срез S[1:5] вернет строку ‘ello’ , таким же будет результат, если сделать второй индекс очень большим, например, S[1:100] (если в строке не более 100 символов).

Если опустить второй параметр (но поставить двоеточие), то срез берется до конца строки. Например, чтобы удалить из строки первый символ (его индекс равен 0, то есть взять срез, начиная с символа с индексом 1), то можно взять срез S[1:] , аналогично если опустиить первый параметр, то срез берется от начала строки. То есть удалить из строки последний символ можно при помощи среза S[:-1] . Срез S[:] совпадает с самой строкой S .

Если задать срез с тремя параметрами S[a:b:d] , то третий параметр задает шаг, как в случае с функцией range , то есть будут взяты символы с индексами a , a+d , a+2*d и т.д. При задании значения третьего параметра, равному 2, в срез попадет кажый второй символ, а если взять значение среза, равное -1 , то символы будут идти в обратном порядке.

Метод — это функция, применяемая к объекту, в данном случае — к строке. Метод вызывается в виде Имя_объекта.Имя_метода(параметры) . Например, S.find(«e») — это применение к строке S метода find с одним параметром «e» .

Метод find и rfind

Метод find находит в данной строке (к которой применяется метод) данную подстроку (которая передается в качестве параметра). Функция возвращает индекс первого вхождения искомой подстроки. Если же подстрока не найдена, то метод возвращает значение -1. Например:

>>> S = 'Hello' >>> print(S.find('e')) 1 >>> print(S.find('ll')) 2 >>> print(S.find('L')) -1

Аналогично, метод rfind возвращает индекс последнего вхождения данной строки (“поиск справа”).

>>> S = 'Hello' >>> print(S.find('l')) 2 >>> print(S.rfind('l')) 3

Если вызвать метод find с тремя параметрами S.find(T, a, b) , то поиск будет осуществляться в срезе S[a:b] . Если указать только два параметра S.find(T, a) , то поиск будет осуществляться в срезе S[a:] , то есть начиная с символа с индексом a и до конца строки. Метод S.find(T, a, b) возращает индекс в строке S , а не индекс относительно

Метод replace заменяет все вхождения одной строки на другую. Формат: S.replace(old, new) — заменить в строке S все вхождения подстроки old на подстроку new . Пример:

>>> 'Hello'.replace('l', 'L') 'HeLLo'

Если методу replace задать еще один параметр: S.replace(old, new, count) , то заменены будут не все вхождения, а только не больше, чем первые count из них.

>>> 'Abrakadabra'.replace('a', 'A', 2) 'AbrAkAdabra'

Подсчитывает количество вхождений одной строки в другую строку. Простейшая форма вызова S.count(T) возвращает число вхождений строки T внутри строки S . При этом подсчитываются только непересекающиеся вхождения, например:

>>> 'Abracadabra'.count('a') 4 >>> ('a' * 100000).count('aa') 50000

При указании трех параметров , будет выполнен подсчет числа вхождений строки T в срез S[a:b] .

Метод str.title() в Python, каждое слово с заглавной буквы

Переводит первую букву каждого слова в строке в верхний регистр

Синтаксис:
str.title() 
Параметры:
Возвращаемое значение:
  • измененная копия строки.
Описание:

Метод str.title() возвращает копию строки str , в которой у каждого слова в строке, первый символ имеет верхний регистр, а остальные символы слова переводятся в нижний регистр. Другими словами, метод вернет копию строки, в которой все слова начинаются с заглавной буквы.

Алгоритм использует простое независимое от языка определение слова как группы последовательных букв. Определение работает во многих контекстах, но оно означает, что апострофы в сокращениях и притяжениях образуют границы слов, что может не соответствовать желаемому результату

  • Для преобразования строки в верхний регистр используйте метод строки str.upper() .
  • Для преобразования строки в нижний регистр используйте метод строки str.lower() .

Примеры преобразования в верхний регистр первых букв слов в строке.

>>> x = 'первое слово в строке начинается с заглавной буквы' >>> x.title() # 'Первое Слово В Строке Начинается С Заглавной Буквы' x = 'пЕРВОЕ сЛОВО в строке начинается с загЛаВной букВы' >>> x.title() # 'Первое Слово В Строке Начинается С Заглавной Буквы' 

Поведение метода с апострофами в сокращениях:

>>> x = "they're bill's friends from the UK" >>> x.title() # "They'Re Bill'S Friends From The Uk" 

Обходной путь для апострофов может быть создан с использованием регулярных выражений:

>>> import re >>> def titlecase(s): . return re.sub(r"[A-Za-z]+('[A-Za-z]+)?", . lambda mo: mo.group(0).capitalize(), . s) . >>> titlecase("they're bill's friends.") # "They're Bill's Friends." 
  • ОБЗОРНАЯ СТРАНИЦА РАЗДЕЛА
  • Метод str.capitalize(), первая буква в строке заглавная
  • Метод str.casefold(), сворачивает регистр строки
  • Метод str.center(), выравнивает строку по центру
  • Метод str.count(), считает совпадения в строке
  • Метод str.encode(), преобразует строку в байты
  • Метод str.endswith(), совпадение с концом строки
  • Метод str.expandtabs(), меняет табуляцию на пробел
  • Метод str.find(), индекс первого совпадения в строке
  • Метод str.format(), форматирует строку
  • Метод str.format_map()
  • Метод str.index(), индекс первого совпадения подстроки
  • Метод str.isalnum(), строка состоит из цифр и букв
  • Метод str.isalpha(), строка состоит только из букв
  • Метод str.isascii(), все символы в строке являются ASCII
  • Метод str.isdecimal(), проверяет строку на десятичное число
  • Метод str.isdigit(), строка состоит только из цифр
  • Метод str.isidentifier() проверяет строку на идентификатор Python
  • Метод str.islower( ), проверяет строку на нижний регистр
  • Метод str.isnumeric(), проверяет строку на числовые символы
  • Метод str.isprintable(), проверяет на доступность для печати
  • Метод str.isspace(), является ли строка пробелом
  • Метод str.istitle(), проверяет наличие заглавных букв в словах
  • Метод str.isupper(), проверяет строку на верхний регистр
  • Метод str.join(), объединяет список строк
  • Метод str.ljust(), ровняет строку по левому краю
  • Метод str.lower(), строку в нижний регистр
  • Метод str.lstrip(), обрезает символы в начале строки
  • Метод str.maketrans(), таблица символов для str.translate()
  • Метод str.partition(), делит строку по первому совпадению
  • Метод str.removeprefix(), удаляет префикс строки
  • Метод str.removesuffix(), удаляет суффикс строки
  • Метод str.replace(), меняет подстроку/символ в строке
  • Метод str.rfind(), индекс последнего совпадения подстроки
  • Метод str.rindex(), индекс последнего совпадения в строке
  • Метод str.rjust(), ровняет строку по правому краю
  • Метод str.rpartition(), делит строку по последнему совпадению
  • Метод str.rsplit(), делит строку справа
  • Метод str.rstrip(), обрезает символы на конце строки
  • Метод str.split(), делит строку по подстроке
  • Метод str.splitlines(), делит текст по символу ‘\n’
  • Метод str.startswith(), совпадение с началом строки
  • Метод str.strip(), обрежет строку с обоих концов
  • Метод str.swapcase(), сменит регистр символов в строке
  • Метод str.title(), каждое слово с заглавной буквы
  • Метод str.translate(), транслирование строки
  • Метод str.upper(), переведет строку в верхний регистр
  • Метод str.zfill(), дополнит строку нулями
  • Форматирование строк в стиле printf
  • F-string. Форматированные строки

Строки¶

Самый распространённый способ создания строк — с помощью двойных кавычек:

s = "Hello" print(s) 

Однако есть несколько других способов, которые имееются в языке:

s = 'Hello' s = """Hello""" s = '''Hello''' 

Все 3 способа записи приводят к одному результату — созданию строки hello

Разные способы записи нужны для удобного создания строк с специальными символами:

q = "What's your name" t = 'He said: "Bond, James Bond"' 

Если бы в языке не было разных способов создания данных строк, то пришлось бы использовать экранирование:

t = "He said: \", James Bond\"" 

Некоторые специальные символы, которые могут находиться внутри строки:

Тройные кавычки используются для создания больших строк:

s = """ Здесь может быть написан текст, занимающий любое количество строк """ 

Операции со строками¶

Получение длины строки:

>>> len("Hello") 5 

Конкатенация (объединение) строк:

>>> "Hello " + "World" 'Hello World' 

Повторение строки n раз:

>>> "python " * 3 'python python python ' 

Обращение к символу i строки s . Индексация начинается с нуля. Индексы могут быть отрицательными, тогда отсчет ведется с конца строки:

>>> s = 'abcdef' >>> s[0] 'a' >>> s[5] 'f' >>> s[-1] 'f' >>> s[-2] 'e' 

s[begin:end:step]

Получение среза строки от позиции begin до позиции end с шагом step . Любой параметр может быть пропущен:

>>> s = "abcdef" >>> s[1:] 'bcdef' >>> s[:-1] 'abcde' >>> s[1:-1] 'bcde' >>> s[1::2] 'bdf' >>> s[::2] 'ace' >>> s[::-2] 'fdb' 

Задачи¶

  1. Получите от пользователя 2 строки, объедините их и выведите экран
  2. Получите от пользователя слово, выведите первую и последнюю букву
  3. Получение от пользователя строку и выведите количество цифр в данный строке
  4. Получите от пользователя строку, в которой будет несколько слов, выведите их количество. Считать что слова отделены друг от друга одним пробелом
  5. Дана строка, содержащая путь к файлу:
C:\Python3\python.exe 

С помощью срезов вывести отдельно имя файла, его расширение, имя каталога и полный путь к каталогу. Пример вывода:

Имя файла: python.exe Расширение: exe Имя каталога: Python3 Полный путь к каталогу: C:\Python3\

Домашнее задание¶

На вход программе подается строка. Необходимо вывести:

  1. Сначала выведите третий символ этой строки.
  2. Во второй строке выведите предпоследний символ этой строки.
  3. третьей строке выведите первые пять символов этой строки.
  4. В четвертой строке выведите всю строку, кроме последних двух символов.
  5. В пятой строке выведите все символы с четными индексами (считая, что индексация начинается с 0, поэтому символы выводятся начиная с первого).
  6. В шестой строке выведите все символы с нечетными индексами, то есть начиная со второго символа строки.
  7. В седьмой строке выведите все символы в обратном порядке.
  8. В восьмой строке выведите все символы строки через один в обратном порядке, начиная с последнего.
  9. В девятой строке выведите длину данной строки.
Input: Abrakadabra Output: r r Abrak Abrakadab Arkdba baaar arbadakarbA abdkrA 11 

© Copyright Revision d00c0df4 .

Built with Sphinx using a theme provided by Read the Docs.
Read the Docs v: latest

Versions latest Downloads html On Read the Docs Project Home Builds Free document hosting provided by Read the Docs.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *