Перейти к содержимому

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

  • автор:

Как в Python выбрать первую и последнюю букву в слове?

Задача: Написать игру виселица на Python.
Проблема: Необходимо выбрать первую и последнюю буквы в слове.
Вопрос: Как в Python выбрать первую и последнюю букву в слове?

Отслеживать
15.5k 3 3 золотых знака 18 18 серебряных знаков 30 30 бронзовых знаков
задан 20 июн 2018 в 12:57
Михаил Романов Михаил Романов
25 1 1 серебряный знак 4 4 бронзовых знака

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

first, last = word[0], word[-1] 

Отслеживать
ответ дан 20 июн 2018 в 12:59
Andrio Skur Andrio Skur
2,883 3 3 золотых знака 14 14 серебряных знаков 27 27 бронзовых знаков

Можно упомянуть, что в общем случае, для разбивки слова на буквы, полезно знать о Unicode нормализации, grapheme clusters. Разделить в Python 3 слово на символы

21 июн 2018 в 5:13

# 'д' [] 'а' (first, *middle, last) = 'да' # 'с' ['л', 'о', 'в'] 'о' (first, *middle, last) = 'слово' # first="с", f="л", m="['о']", l="в", last="о" (first, *(f, *m, l), last) = 'слово' print('first="", f="", m="", l="", last=""'.format(**vars())) 

Отслеживать
ответ дан 19 июл 2018 в 11:15
vadim vaduxa vadim vaduxa
8,932 14 14 серебряных знаков 24 24 бронзовых знака

  • python
  • python-3.x
  • python-3.5
    Важное на Мете
Связанные
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.10.27.43697

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Основы работы со строками¶

Строковый литерал может быть записан в одинарных или двойных кавычнах:

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

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

>>> "What's your name?" "What's your name?" 

Запись в апострофах удобна, если в тексте есть кавычки:

>>> 'He said: "Bond, James Bond."' 'He said: "Bond, James Bond."' 

Иначе интерпретатор будет считать ближайшие кавычку или апостроф закрывающими, и их нужно экранировать:

>>> 'What\'s your name?' "What's your name?" >>> "He said: \"Bond, James Bond.\"" 'He said: "Bond, James Bond."' 

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

>>> print("Hello\nWorld") Hello World >>> print("1\t2\n30\t4") 1 2 30 4 

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

>>> print(r"Hello\nWorld") Hello\nWorld 

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

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

>>> 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. Пользователь вводит слово. Вывести его первую и последнюю буквы.
  3. Пользователь вводит число. Вывести соответствующее количество кроликов. Пример:
Rabbits: 1 (\_/) =(^.^)= (“)_(“) Rabbits: 3 (\_/) (\_/) (\_/) =(^.^)= =(^.^)= =(^.^)= (“)_(“) (“)_(“) (“)_(“)
C:\Python3\python.exe 

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

Имя файла: python.exe Расширение: exe Имя каталога: Python3 Полный путь к каталогу: C:\Python3\
Chapter 1: Мальчик, который выжил Page: 5 Chapter 2: Косой переулок Page: 40 Chapter 3: Человек с двумя лицами Page: 500 
Мальчик, который выжил 5 Косой переулок 40 Человек с двумя лицами 500 

Дополнительные задачи¶

Разработать приложение, которое запрашивает у пользователя стоимость заказа из трех пунктов и выводит чек таким образом, что все стоимости выводятся в крайнем правом столбце. Ширину чека принять за 30 символов. Пример:

Салат: 60 Первое: 45 Второе: 120 Ваш счет Салат: 60.0 Первое: 45.0 Второе: 120.0 ------------------------------ Итого: 225.0 

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

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

  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.

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

Рассмотрим основные методы строк, которые мы можем применить в приложениях:

  • isalpha() : возвращает True, если строка состоит только из алфавитных символов
  • islower() : возвращает True, если строка состоит только из символов в нижнем регистре
  • isupper() : возвращает True, если все символы строки в верхнем регистре
  • isdigit() : возвращает True, если все символы строки — цифры
  • isnumeric() : возвращает True, если строка представляет собой число
  • startswith(str) : возвращает True, если строка начинается с подстроки str
  • endswith(str) : возвращает True, если строка заканчивается на подстроку str
  • lower() : переводит строку в нижний регистр
  • upper() : переводит строку в вехний регистр
  • title() : начальные символы всех слов в строке переводятся в верхний регистр
  • capitalize() : переводит в верхний регистр первую букву только самого первого слова строки
  • lstrip() : удаляет начальные пробелы из строки
  • rstrip() : удаляет конечные пробелы из строки
  • strip() : удаляет начальные и конечные пробелы из строки
  • ljust(width) : если длина строки меньше параметра width, то справа от строки добавляются пробелы, чтобы дополнить значение width, а сама строка выравнивается по левому краю
  • rjust(width) : если длина строки меньше параметра width, то слева от строки добавляются пробелы, чтобы дополнить значение width, а сама строка выравнивается по правому краю
  • center(width) : если длина строки меньше параметра width, то слева и справа от строки равномерно добавляются пробелы, чтобы дополнить значение width, а сама строка выравнивается по центру
  • find(str[, start [, end]) : возвращает индекс подстроки в строке. Если подстрока не найдена, возвращается число -1
  • replace(old, new[, num]) : заменяет в строке одну подстроку на другую
  • split([delimeter[, num]]) : разбивает строку на подстроки в зависимости от разделителя
  • partition(delimeter) : разбивает строку по разделителю на три подстроки и возвращает кортеж из трех элементов — подстрока до разделителя, разделитель и подстрока после разделителя
  • join(strs) : объединяет строки в одну строку, вставляя между ними определенный разделитель

Например, если мы ожидаем ввод с клавиатуры числа, то перед преобразованием введенной строки в число можно проверить, с помощью метода isnumeric() введено ли в действительности число, и если так, то выполнить операцию преобразования:

string = input("Введите число: ") if string.isnumeric(): number = int(string) print(number)

Проверка, начинается или оканчивается строка на определенную подстроку:

file_name = "hello.py" starts_with_hello = file_name.startswith("hello") # True ends_with_exe = file_name.endswith("exe") # False

Удаление пробелов в начале и в конце строки:

string = " hello world! " string = string.strip() print(string) # hello world!

Дополнение строки пробелами и выравнивание:

print("iPhone 7:", "52000".rjust(10)) print("Huawei P10:", "36000".rjust(10))
iPhone 7: 52000 Huawei P10: 36000

Поиск в строке

Для поиска подстроки в строке в Python применяется метод find() , который возвращает индекс первого вхождения подстроки в строку и имеет три формы:

  • find(str) : поиск подстроки str ведется с начала строки до ее конца
  • find(str, start) : параметр start задает начальный индекс, с которого будет производиться поиск
  • find(str, start, end) : параметр end задает конечный индекс, до которого будет идти поиск

Если подстрока не найдена, метод возвращает -1:

welcome = "Hello world! Goodbye world!" index = welcome.find("wor") print(index) # 6 # поиск с 10-го индекса index = welcome.find("wor",10) print(index) # 21 # поиск с 10 по 15 индекс index = welcome.find("wor",10,15) print(index) # -1

Замена в строке

Для замены в строке одной подстроки на другую применяется метод replace() :

  • replace(old, new) : заменяет подстроку old на new
  • replace(old, new, num) : параметр num указывает, сколько вхождений подстроки old надо заменить на new. По умолчанию num равно -1, что соответствует первой версии метода и приводит к замене всех вхождений.
phone = "+1-234-567-89-10" # замена дефисов на пробел edited_phone = phone.replace("-", " ") print(edited_phone) # +1 234 567 89 10 # удаление дефисов edited_phone = phone.replace("-", "") print(edited_phone) # +12345678910 # замена только первого дефиса edited_phone = phone.replace("-", "", 1) print(edited_phone) # +1234-567-89-10

Разделение на подстроки

Метод split() разбивает строку на список подстрок в зависимости от разделителя. В качестве разделителя может выступать любой символ или последовательность символов. Данный метод имеет следующие формы:

  • split() : в качестве разделителя используется пробел
  • split(delimeter) : в качестве разделителя используется delimeter
  • split(delimeter, num) : параметр num указывает, сколько вхождений delimeter используется для разделения. Оставшаяся часть строки добавляется в список без разделения на подстроки
text = "Это был огромный, в два обхвата дуб, с обломанными ветвями и с обломанной корой" # разделение по пробелам splitted_text = text.split() print(splitted_text) print(splitted_text[6]) # дуб, # разбиение по запятым splitted_text = text.split(",") print(splitted_text) print(splitted_text[1]) # в два обхвата дуб # разбиение по первым пяти пробелам splitted_text = text.split(" ", 5) print(splitted_text) print(splitted_text[5]) # обхвата дуб, с обломанными ветвями и с обломанной корой

Еще один метод — partition() разбивает строку по разделителю на три подстроки и возвращает кортеж из трех элементов — подстрока до разделителя, разделитель и подстрока после разделителя:

text = "Это был огромный, в два обхвата дуб, с обломанными ветвями и с обломанной корой" text_parts = text.partition("дуб") print(text_parts) # ('Это был огромный, в два обхвата ', 'дуб', ', с обломанными ветвями и с обломанной корой')

Если разделитель с строке не найден, то возвращается кортеж с одной строкой.

Соединение строк

При рассмотрении простейших операций со строками было показано, как объединять строки с помощью операции сложения. Другую возможность для соединения строк представляет метод join() : он объединяет список строк. Причем текущая строка, у которой вызывается данный метод, используется в качестве разделителя:

words = ["Let", "me", "speak", "from", "my", "heart", "in", "English"] # разделитель - пробел sentence = " ".join(words) print(sentence) # Let me speak from my heart in English # разделитель - вертикальная черта sentence = " | ".join(words) print(sentence) # Let | me | speak | from | my | heart | in | English

Вместо списка в метод join можно передать простую строку, тогда разделитель будет вставляться между символами этой строки:

word = "hello" joined_word = "|".join(word) print(joined_word) # h|e|l|l|o

В каждом слове оставить только первую букву

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

94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

В каждом слове заменить первую букву на цифру 1
Привет всем, у меня возникла сложность с заданием на питоне. Помогите пожалуйста, с меня плюсик).

Оставить в каждом слове текста с каждой последовательности идущих подряд одинаковых букв только одну букву
Здравствуйте! Задание:Оставить в каждом слове текста с каждой последовательности идущих подряд.

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

Заменить в каждом слове первую букву на последнюю букву в этом слове
Подскажите пожалуйста 😥 Задание звучит так: Вывести на экран все слова, преобразовав их.

Заменить в каждом слове длиной М букв первую букву на букву, задаваемую пользователем
Дан текст, состоящий из нескольких слов. Заменить в каждом слове длиной М букв первую букву на.

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

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