дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке

Решение урока 9.1 из курса «Поколение Python» на питоне

Полные решения на питоне с пояснениями к модулю 9.1 из «Поколение Python: курс для начинающих» с сайта stepik.org.

Что покажет приведенный ниже фрагмент кода?
s = ‘abcdefg’
print(s[0] + s[2] + s[4] + s[6])

Что покажет приведенный ниже фрагмент кода?
s = ‘abcdefg’
print(s[0]3 + s[-1]3 + s[3]2 + s[3]2)

Что покажет приведенный ниже фрагмент кода?
s = ‘01234567891011121314151617’
for i in range(0, len(s), 5):
print(s[i], end=»)

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

В столбик 2
На вход программе подается одна строка. Напишите программу, которая выводит в столбик элементы строки в обратном порядке.
Формат входных данных
На вход программе подается одна строка.
Формат выходных данных
Программа должна вывести в столбик элементы строки в обратном порядке.

ФИО
На вход программе подаются три строки: имя, фамилия и отчество. Напишите программу, которая выводит инициалы человека.
Формат входных данных
На вход программе подаются три строки, каждая на отдельной строке.
Формат выходных данных
Программа должна вывести ФИО человека.
Примечание. Гарантируется, что имя, фамилия и отчество начинаются с заглавной буквы.

Цифра 1
На вход программе подается одна строка состоящая из цифр. Напишите программу, которая считает сумму цифр данной строки.
Формат входных данных
На вход программе подается одна строка состоящая из цифр.
Формат выходных данных
Программа должна вывести сумму цифр данной строки.

Цифра 2
На вход программе подается одна строка. Напишите программу, которая выводит сообщение «Цифра» (без кавычек), если строка содержит цифру. В противном случае вывести сообщение «Цифр нет» (без кавычек).
Формат входных данных
На вход программе подается одна строка.
Формат выходных данных
Программа должна вывести текст в соответствии с условием задачи.

Одинаковые соседи
На вход программе подается одна строка. Напишите программу, которая определяет сколько в ней одинаковых соседних символов.
Формат входных данных
На вход программе подается одна строка.
Формат выходных данных
Программа должна вывести количество одинаковых соседних символов.

Гласные и согласные
На вход программе подается одна строка с буквами русского языка. Напишите программу, которая определяет количество гласных и согласных букв.
Формат входных данных
На вход программе подается одна строка.
Формат выходных данных
Программа должна вывести количество гласных и согласных букв.
Примечание. В русском языке 10 гласных букв (а, у, о, ы, и, э, я, ю, ё, е) и 21 согласная буква (б, в, г, д, ж, з, й, к, л, м, н, п, р, с, т, ф, х, ц, ч, ш, щ).

Decimal to Binary
На вход программе подается натуральное число, записанное в десятичной системе счисления. Напишите программу, которая переводит данное число в двоичную систему счисления.
Формат входных данных
На вход программе подается одно натуральное число.
Формат выходных данных
Программа должна вывести число записанное в двоичной системе счисления.

Источник

Решение модуля 9.2 из курса «Поколение Python»

Ответы на вопросы и решения задач на питоне из урока (модуля) 9.2 курса «Поколение Python: курс для начинающих» с сайта stepik.org.

Что покажет приведенный ниже фрагмент кода?
s = ‘abcdefg’
print(s[2:5])

Что покажет приведенный ниже фрагмент кода?
s = ‘abcdefg’
print(s[3:])

Что покажет приведенный ниже фрагмент кода?
s = ‘abcdefg’
print(s[:3])

Что покажет приведенный ниже фрагмент кода?
s = ‘abcdefg’
print(s[:])

Что покажет приведенный ниже фрагмент кода?
s = ‘abcdefg’
print(s[::-3])

Дополните приведенный код, используя срезы, так чтобы он вывел каждый 7 символ строки s начиная от начала строки.

Дополните приведенный код, используя срезы, так чтобы он вывел строку s в обратном порядке.

Палиндром
На вход программе подается одно слово, записанное в нижнем регистре. Напишите программу, которая определяет является ли оно палиндромом.
Формат входных данных
На вход программе подается одно слово в нижнем регистре.
Формат выходных данных
Программа должна вывести «YES», если слово является палиндромом и «NO» в противном случае.
Примечание. Палиндром читается одинаково в обоих направлениях, например слово «потоп».

Делаем срезы 1
На вход программе подается одна строка. Напишите программу, которая выводит:
общее количество символов в строке;
исходную строку повторенную 3 раза;
первый символ строки;
первые три символа строки;
последние три символа строки;
строку в обратном порядке;
строку с удаленным первым и последним символом.
Формат входных данных
На вход программе подается одна строка, длина которой больше 3 символов.
Формат выходных данных
Программа должна вывести данные в соответствии с условием. Каждое значение выводится на отдельной строке.

Делаем срезы 2
На вход программе подается одна строка. Напишите программу, которая выводит:
третий символ этой строки;
предпоследний символ этой строки;
первые пять символов этой строки;
всю строку, кроме последних двух символов;
все символы с четными индексами;
все символы с нечетными индексами;
все символы в обратном порядке;
все символы строки через один в обратном порядке, начиная с последнего.
Формат входных данных
На вход программе подается одна строка, длина которой больше 5 символов.
Формат выходных данных
Программа должна вывести данные в соответствии с условием. Каждое значение выводится на отдельной строке.

Две половинки
На вход программе подается строка текста. Напишите программу, которая разрежет ее на две равные части, переставит их местами и выведет на экран.
Формат входных данных
На вход программе подается строка текста.
Формат выходных данных
Программа должна вывести текст в соответствии с условием задачи.
Примечание. Если длина строки нечетная, то длина первой части должна быть на один символ больше.

Источник

Индексация и срез строк в Python 3

Строки – это тип данных Python, который представляет собой последовательность из одного или нескольких символов (букв, цифр, пробелов и других символов). Поскольку строки являются последовательностями, с ними можно взаимодействовать так же, как и с другими типами данных на основе последовательности – путём индексации и среза.

Данное руководство научит вас индексировать строки, создавать срезы и использовать некоторые методы подсчёта и поиска символов.

Индексация строк

Каждому символу в строке соответствует индексный номер, начиная с 0. К примеру, строка 8host Blog! индексируется следующим образом:

8hostBlog!
012345678910

Как видите, индексом первого символа является 0, последний индекс, 10, принадлежит символу «!».Любой другой символ или знак препинания (*#$&.;?,) также будет иметь свой собственный номер индекса.

Следует обратить внимание на то, что пробел также является частью строки, потому тоже имеет свой индекс (в данном случае 5).

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

Поиск символа по положительному индексу

Ссылаясь на индекс, вы можете извлечь один символ из строки. Для этого индекс помещается в квадратные скобки. Объявите строку и попробуйте извлечь один из её символов.

ss = «8host Blog!»
print(ss[4])
t

Когда вы ссылаетесь на конкретный индекс, Python возвращает символ, которому этот индекс принадлежит. Символ t в строке 8host Blog! имеет индекс 4.

Выбор символа по отрицательному индексу

К примеру, строка 8host Blog!будет иметь следующий негативный индекс:

8hostBlog!
-11-10-9-8-7-6-5-4-3-2-1

Отрицательный индекс позволяет выбрать символ в длинной строке.

Срез строк

Также вы можете вызвать диапазон символов из строки. К примеру, вывести только Blog. Для этого используется оператор нарезки, а получившийся в результате фрагмент данных называется срезом. Чтобы создать срез, введите диапазон индексов в квадратные скобки, разделив их двоеточием:

Как можно понять из примера, 6 – индекс первого символа среза (включительно), а 10 – индекс символа после среза (по сути, в срез входят символы с индексами 6, 7, 8 и 9; восклицательный знак с индексом 10 уже не входит в срез).

Выполняя нарезку строки, вы создаёте новую строку, точнее, подстроку – строку, которая существует внутри другой строки (к примеру, строка Blog существует внутри строки 8host Blog!).

Чтобы включить в срез начало или конец строки, можно опустить индекс первого или последнего её символа. К примеру, чтобы вывести только 8host (первое слово строки), можно ввести:

Как видите, индекс первого символа не указан.

Чтобы вывести подстроку, начиная с середины строки и до конца, можно ввести:

Попробуйте запросить срез с помощью отрицательного индекса:

Срезы с шагом

В предыдущем разделе срез был взят по такому шаблону:

включая индекс start и не включая индекс stop. Однако срезы можно задавать по трём параметрам:

где stride – шаг. Этот параметр указывает, на сколько символов нужно продвинуться после взятия первого символа. По умолчанию шаг в Python равен 1, то есть, Python будет извлекать символы по порядку.

Шаг со стандартным значением 1 можно не указывать – это не повлияет на поведение Python. Например:

print(ss[6:10])
Blog
print(ss[6:10:1])
Blog

Стандартный шаг будет выводить каждый индекс. Попробуйте задать нестандартное значение шага:

Если шаг – 2, Python пропустить каждый второй символ и выведет символы исходной строки через один (выведенные символы выделены красным):

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

Попробуйте увеличить шаг:

Такой шаг выведет каждый четвертый символ после первого символа строки.

Запрашивая всю строку, вы можете не указывать первые два параметра (start и stop), так как при этом Python по умолчанию выводит строку от начала до конца.

print(ss[::-1])
!golB tsoh8

Первые два параметра пропущены, потому Python выведет все символы строки.

При этом символы строки будут выведены в обратном порядке через один:

Методы подсчета

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

Метод len() выводит длину любого последовательного типа данных (включая строки, списки, кортежи и словари).

Запросите длину строки ss:

Строка «8host Blog!» содержит 11 символов.

Кроме переменных, метод len() может подсчитать длину любой заданной строки, например:

print(len(«Let’s print the length of this string.»))
38

Метод len() подсчитывает общее количество символов в строке.

Метод str.count()может подсчитать, сколько раз в строке повторяется тот или иной символ. Запросите количество символов о в строке «8host Blog!».

Запросите другой символ:

Несмотря на то, что символ b присутствует в запрашиваемой строке, метод возвращает 0, поскольку он чувствителен к регистру. Чтобы вывести символы по нижнему регистру, используйте метод str.lower().

Используйте метод str.count() на последовательность символов:

likes = «Mary likes to swim in the ocean, and likes to smile.»
print(likes.count(«likes»))
2

Подстрока likes встречается в вышеприведённой строке дважды.

Чтобы определить индекс символа в строке, используйте метод str.find().

Для примера запросите индекс символа o в строке ss:

Первый символ о в строке «8host Blog!» находится под индексом 2.

Попробуйте узнать индекс первого символа подстроки «likes» внутри строки likes:

Но в данной строке последовательность likes встречается дважды. Как узнать индекс первого символа второй последовательности likes? Методу str.find() можно задать второй параметр – индекс, с которого нужно начинать поиск.

print(likes.find(«likes», 9))
37

Заключение

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

Источник

Дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке

В языке Python 3 строки — это строки последовательности юникодных символов. Для обозначения конкретной строки в программе можно использовать одну из четырёх возможных конструкций:

Конечно же, строки можно также получать из других типов приведением к строке, а также получать из внешних источников.

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

Срезы (slices)

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

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

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

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

A: Делаем срезы

Сначала выведите третий символ этой строки.

Во второй строке выведите предпоследний символ этой строки.

В третьей строке выведите первые пять символов этой строки.

В четвертой строке выведите всю строку, кроме последних двух символов.

В пятой строке выведите все символы с четными индексами (считая, что индексация начинается с 0, поэтому символы выводятся начиная с первого).

В шестой строке выведите все символы с нечетными индексами, то есть начиная со второго символа строки.

В седьмой строке выведите все символы в обратном порядке.

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

В девятой строке выведите длину данной строки.

Источник

BestProg

Строки. Доступ по индексам. Срезы. Получение фрагмента строки. Примеры

Содержание

Поиск на других ресурсах:

1. Способы получения фрагментов строк

В Python фрагменты строк можно получать одним из трех способов:

2. Операция индексирования. Получение символа с начала и из конца строки

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

здесь index – позиция символа, который нужно прочесть из строки.

Если значение index ≥0 (положительное значение), то обработка строки осуществляется из ее начала. При положительной индексации первый элемент строки имеет смещение 0.
Если значение index S .

дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке. картинка дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке. дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке фото. дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке видео. дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке смотреть картинку онлайн. смотреть картинку дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке.

Рисунок 1. Положительная и отрицательная индексация

На примере, изображенном на рисунке, к символу b можно обратиться одним из двух способов:

Пример.

Результат работы программы

3. Что такое срез? Виды срезов при работе со строками

Срез – это есть форма синтаксического анализа, которая позволяет вытягивать фрагменты строк (подстроки) за одно действие. Использование срезов позволяет получать подстроки удобным способом.
Различают два вида операций присваивания среза строки:

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

4.1. Форма вида S[i : j]

В этом случае из строки S вытягивается подстрока из позиции i до позиции j -1 включительно. На рисунке 2 показан пример операции вытягивания подстрок.

дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке. картинка дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке. дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке фото. дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке видео. дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке смотреть картинку онлайн. смотреть картинку дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке.

4.2. Форма вида S[ : j]

При такой форме первый индекс не указывается. Это значит, что вытягивается подстрока от начала строки (положительное смещение 0) до позиции j -1.

На рисунке 3 изображен пример данной формы среза.

дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке. картинка дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке. дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке фото. дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке видео. дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке смотреть картинку онлайн. смотреть картинку дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке.

Рисунок 3. Вытягивание подстрок из строки S

4.3. Форма вида S[i : ]

При такой форме второй индекс отсутствует. Данная форма вытягивает элементы строки начиная из позиции i и до конца строки. На рисунке 4 изображен пример данной формы среза.

дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке. картинка дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке. дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке фото. дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке видео. дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке смотреть картинку онлайн. смотреть картинку дополните приведенный код используя срезы так чтобы он вывел строку s в обратном порядке.

Рисунок 4. Вытягивание подстрок из строки

4.4. Форма вида S[ : ]

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

Пример.

Расширенная операция вытягивания подстроки [i : j : k] (срез) имеет три границы. Третья граница k определяет шаг по индексу. Величина шага k добавляется к позиции каждого элемента, который вытягивается из строки. Величина k есть необязательной. По умолчанию значение k =1.

Относительно значения k можно выделить следующие особенности:

5.1. Форма вида [ i : j : k ]

Пример.

5.2. Форма вида [i : : k]

При данной форме средняя граница опущена. Если k >=0, то строка обрабатывается с позиции i до конца строки. Если k i до начала строки в обратном порядке.

Пример.

5.3. Форма вида [ : j : k]

При такой форме отсутствует первая граница i . Если значение k >=0, то i принимается равным началу строки ( i =0). Если значение k i принимается равным концу строки.

Пример.

5.4. Форма вида [ : : k]

Если значение k i принимается равным индексу последнего символа строки. Значение j принимается равным индексу первого символа строки.

Пример.

5.5. Форма вида [ : : ]

При такой форме строка-оригинал копируется в другую строку полностью без перемен.

Пример.

Источник

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

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