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

Индексы и срезы строк

На самом деле в Python строка представляются как упорядоченная коллекция символов. И ключевое слово здесь – «упорядоченная». Это значит, что у каждого символа в строке есть свой порядковый номер – индекс, по которому мы можем его получить. Например, когда мы создаем строку

то формируется следующая коллекция:

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

Каждый символ имеет свой индекс, начиная с нулевого. Первый символ в Python всегда имеет нулевой индекс.

Для обращения к тому или иному символу используется следующий синтаксис:

и так далее. Но, если указать неверный индекс, например:

то возникнет ошибка. Поэтому здесь следует быть аккуратным и не выходить за пределы этого списка. В частности, последний «рабочий» индекс можно определить с помощью функции len – длины строки:

lastIndex = len( ) – 1

То есть, к последнему индексу мы можем обратиться так:

Но это не очень удобно. Поэтому разработчики языка Python решили, что отрицательные индексы будут означать движение по строке с конца в начало. И предыдущую запись можно переписать так:

Видите? Это намного удобнее. То есть, у строк есть еще такие отрицательные индексы:

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

Также в Python можно использовать доступ к отдельному символу непосредственно у строкового литерала:

Иногда это бывает удобно.

Срезы

Часто в программировании требуется выбрать не один какой-то символ, а сразу несколько. Для этого используются так называемые срезы. Их работу проще показать на конкретных примерах. Пусть у нас есть наша строка:

и мы хотим выделить последнее слово «World!». Для этого в квадратных скобках указывается начальный индекс и через двоеточие – конечный. Если мы запишем все вот в таком виде:

то получим результат «World» без восклицательного знака. Дело в том, что последний индекс исключается из интервала, то есть, интервал определяется как

Поэтому, мы должны записать срез так:

Другой пример для выделения символов «llo»:

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

выделяет слово «Hello», а вот так:

получим «World!». Наконец, записав все в таком виде:

получим ту же самую строку, не копию! Это можно проверить так:

Увидим одно и то же значение id для обеих переменных, это означет, что они ссылаются на один и тот же объект.

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

мы здесь ставим еще одно двоеточие и указываем шаг 2, то есть, идем через символ: «HloWrd». Также это можно комбинировать с граничными значениями:

и использовать отрицательный шаг:

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

Строка – неизменяемый объект

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

приведет к ошибке, говорящая о том, что строка не может быть изменена. Тогда как в Python нам изменять строки? Для этого создается новая строка с нужным содержимым. Например, изменим строку

Это можно сделать так:

В результате строка myStr ссылается на новую измененную строку, а msg осталась прежней.

Задания для самоподготовки

1. Напишите программу подсчета букв ‘a’ в строке «abrakadabra».

2. Из строки «abrakadabra» удалите все сочетания «ab».

3. Напишите программу определения слова палиндрома (это слова, которые одинаково читаются в обоих направлениях, например, анна, abba и т.п.). Слово вводится с клавиатуры.

4. Напишите программу определения количества вхождений фраз «ra» в слове «abrakadabra».

5. Разделите введенное с клавиатуры предложение на слова (слова разделяются пробелом).

Видео по теме

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

Python 3 #1: установка и запуск интерпретатора языка

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

Python 3 #2: переменные, оператор присваивания, типы данных

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

Python 3 #3: функции input и print ввода/вывода

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

Python 3 #4: арифметические операторы: сложение, вычитание, умножение, деление, степень

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

Python 3 #5: условный оператор if, составные условия с and, or, not

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

Python 3 #6: операторы циклов while и for, операторы break и continue

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

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

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

Python 3 #9: списки list и функции len, min, max, sum, sorted

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

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

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

Python 3 #12: словарь, методы словарей: len, clear, get, setdefault, pop

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

Python 3 #13: кортежи (tuple) и операции с ними: len, del, count, index

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

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

Python 3 #15: делаем «Сапер», проектирование программ «сверху-вниз»

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

Python 3 #16: рекурсивные и лямбда-функции, функции с произвольным числом аргументов

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

Python 3 #17: алгоритм Евклида, принцип тестирования программ

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

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

Python 3 #19: множества (set) и операции над ними: вычитание, пересечение, объединение, сравнение

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

Python 3 #20: итераторы, выражения-генераторы, функции-генераторы, оператор yield

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

Python 3 #21: функции map, filter, zip

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

Python 3 #22: сортировка sort() и sorted(), сортировка по ключам

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

Python 3 #23: обработка исключений: try, except, finally, else

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

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

Python 3 #25: форматирование строк: метод format и F-строки

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

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

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

Python 3 #28: декораторы функций и замыкания

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

Python 3 #29: установка и порядок работы в PyCharm

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

Python 3 #30: функция enumerate, примеры использования

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

Источник

Занятия по ПИТОНу. Занятие 5. Строки

Я несколько лет знакомился с материалами Foxford.

Эта же теория с видео. И тогда всё станет понятно.


После if и for не забудьте отрегулировать отступы пробелами или Tab
1.Задача «Делаем срезы»
Условие

Дана строка.
Сначала выведите третий символ этой строки.
Во второй строке выведите предпоследний символ этой строки.
В третьей строке выведите первые пять символов этой строки.
В четвертой строке выведите всю строку, кроме последних двух символов.
В пятой строке выведите все символы с четными индексами (считая, что индексация начинается с 0, поэтому символы выводятся начиная с первого).
В шестой строке выведите все символы с нечетными индексами, то есть начиная со второго символа строки.
В седьмой строке выведите все символы в обратном порядке.
В восьмой строке выведите все символы строки через один в обратном порядке, начиная с последнего.
В девятой строке выведите длину данной строки.
Входные данные: Abrakadabra

s = input() # И далее оператор и значение ниже
print(s[2])
r
print(s[-2])
r
print(s[:5])
Abrak
print(s[:-2])
Abrakadab
print(s[::2])
Arkdba
print(s[1::2])
baaar
print(s[::-1])
arbadakarbA
print(s[::-2])
abdkrA
print(len(s))
11
2.Задача «Количество слов»
Условие
Дана строка, состоящая из слов, разделенных пробелами. Определите, сколько в ней слов. Используйте для решения задачи метод count.
a=input()
s=1
for i in range(0, len(a)):
if a[i]==” “:
s+=1
print(s)

Если входные данные Hello world – ответ 2

import math
a=input()
s=len(a)
l=math.ceil(s/2)
print(a[l::]+a[0:l])
Решение разработчиков
s = input()
print(s[(len(s) + 1) // 2:] + s[:(len(s) + 1) // 2])
Если входные данные – Hello, то результат будет – loHel
Для Qwerty результат – rtyQwe

Ещё решение участника
from math import *
S = input()
l = len(S)
num = int(l)
num1 = int(ceil(num / 2))
num2 = int(floor(num – num1))
str = S[: num1]
str2 = S[num1:]
print(str2 + str)

s = input()
first_word = s[:s.find(‘ ‘)]
second_word = s[s.find(‘ ‘) + 1:]
print(second_word + ‘ ‘ + first_word)

Примеры решений участниками:
s=input()
i=s.find(” “)
print(s[i+1::]+” “+s[0:i+1])
n = input()
a = n.find(‘ ‘)
x = n[0:a]
y = n[a:]
print(y + ‘ ‘ + x)
a,b=input().split()
print(b,a)

Решение разработчиков
s = input()
if s.count(‘f’) == 1:
print(s.find(‘f’))
elif s.count(‘f’) >= 2:
print(s.find(‘f’), s.rfind(‘f’))

Входные данные:
In the hole in the ground there lived a hobbit
Выходные данные: In tobbit

Решение разработчиков
s = input()
s = s[:s.find(‘h’)] + s[s.rfind(‘h’) + 1:]
print(s)

Решение участника:
s = input()
print(s.replace(s[s.find(‘h’):s.rfind(‘h’)+1],”))

s = input()
a = s[:s.find(‘h’)]
b = s[s.find(‘h’):s.rfind(‘h’) + 1]
c = s[s.rfind(‘h’) + 1:]
s = a + b[::-1] + c
print(s)

Входные данные: In the hole in the ground there lived a hobbit
Выходные данные: In th a devil ereht dnuorg eht ni eloh ehobbit

9. Задача «Замена подстроки»
Условие

Дана строка. Замените в этой строке все цифры 1 на слово one.
Во всех задачах считывайте входные данные через input() выводите ответ через print().
Входные данные: 1+1=2 Выходные данные: one+one=2
1213141516171819101 one2one3one4one5one6one7one8one9one0one

Решение разработчиков
print(input().replace(‘1’, ‘one’))

Источник

Python Урок 5. Немного о строках. Срезы

Немного о строках

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

a=»па» b=»рад» print(a+b) # парад

a=»кар» print (a*4) # каркаркаркар

a=»парад» print (a[2]) # р

a=»парад» print (len(a)) # 5

Срезы

X – это индекс начала среза, а Y – его окончания

tday = ‘morning, afternoon, night’ tday[0:7] # ‘morning’

s = ‘spameggs’ s[3:5] # ‘me’ s[2:-2] # ‘ameg’ s[-4:-2] # ‘eg’ s[:6] # ‘spameg’ s[1:] # ‘pameggs’ s[:] # ‘spameggs’

s = ‘spameggs’ s[::-1] # ‘sggemaps’ s[3:5:-1] # » s[2::2] # ‘aeg’

s = ‘spameggs’ x=3 l=len(s)//3 for i in range(l): print(s[x:x+1:3]) # m g x+=3

Для решения можно использовать просто срез:

s = ‘spameggs’ print(s[1::3])

Условный оператор не использовать.

Условный оператор не использовать.

Методы строк

Строки, как объекты Python, обладают методами (т.е. функциями, которые выполняют сами объекты).

s=»hello» s1=»-«.join(s) s1 # ‘h-e-l-l-o’

s1=»abrakadabra»; s1.find(‘br’) # 1

s1=»breKeKeKeKs»; ss=s1.replace(‘Ke’,’XoXo’,2) ss # breXoXoXoXoKeKs

Подсказка:

from datetime import date # Получаем текущую дату d1=date.today() # Преобразуем результат в строку ds=str(d1)

Например: c:/изображения/2018/1.jpg
Результат:

Примечание:

Для решения используйте алгоритм, изображенный на блок-схеме:

Форматирование строк

Python включает форматирование строк. Данное понятие подразумевает подстановку какого-либо шаблона в определенное место (или в определенные позиции) текста. Подстановка происходит, что называется, «на лету».

Рассмотрим пример использования в коде на Python метода format:

‘Hello, <>!’.format(‘Vasya’) # ‘Hello, Vasya!’

Аргументом метода является текст-подстановка, который при исполнении программы подставляется на место фигурных скобок.

‘<0><1><0>‘.format(‘abra’, ‘cad’) # ‘abracadabra’

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

Аргументы метода format заполняются согласно указанным именам заполнителей.

Используйте шаблон объявления и ориентируйтесь по цветам:

Красным – массивы.
Коричневым – числовая переменная.

Источник

Решение модуля 7.5 из курса «Поколение python: курс для начинающих»

Полное решение модуля (урока) 7.5 Цикл while: обработка цифр числа на питоне + ответы.

Дано натуральное число. Напишите программу, которая выводит его цифры в столбик в обратном порядке.

Формат входных данных
На вход программе подается одно натуральное число.

Формат выходных данных
Программа должна вывести цифры введенного числа в столбик в обратном порядке.

Дано натуральное число. Напишите программу, которая меняет порядок цифр числа на обратный.

Формат входных данных
На вход программе подается одно натуральное число.

Формат выходных данных
Программа должна вывести число записанное в обратном порядке.

Дано натуральное число n, \, (n \ge 10)n,(n≥10). Напишите программу, которая определяет его максимальную и минимальную цифры.

Формат входных данных
На вход программе подается одно натуральное число.

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

Дано натуральное число. Напишите программу, которая вычисляет:
сумму его цифр;
количество цифр в нем;
произведение его цифр;
среднее арифметическое его цифр;
его первую цифру;
сумму его первой и последней цифры.

Формат входных данных
На вход программе подается одно натуральное число.

Формат выходных данных
Программа должна вывести значения указанных величин в указанном порядке.

Дано натуральное число n \, (n > 9)n(n>9). Напишите программу, которая определяет его вторую (с начала) цифру.

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

Формат выходных данных
Программа должна вывести его вторую (с начала) цифру.

Дано натуральное число. Напишите программу, которая определяет, состоит ли указанное число из одинаковых цифр.

Формат входных данных
На вход программе подается одно натуральное число.

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

Упорядоченные цифры 🌶️

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

Формат входных данных
На вход программе подается одно натуральное число.

Формат выходных данных
Программа должна вывести «YES» если последовательность его цифр при просмотре справа налево является упорядоченной по неубыванию и «NO» в противном случае.

Источник

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

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

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

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

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

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

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

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

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

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

ВводВывод

B: В обратном порядке

Дана строка. Выведите её символы в обратном порядке, по одном символу в строке.

C: Количество слов

D: Замена подстроки

E: Удаление символа

F: Две половинки

Дана строка. Разрежьте ее на две равные части (если длина строки — четная, а если длина строки нечетная, то длина первой части должна быть на один символ больше). Переставьте эти две части местами.

Результат запишите в отдельную переменную и выведите на экран следующим образом: print(«*» + s + «*»)

Решение, в котором ответ выводится по-другому, приниматься не будет.

G: Переставить два слова

Дана строка, состоящая ровно из двух слов, разделенных пробелом. Переставьте эти слова местами.

H: Дробь

I: Удаление слова

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

Решение выведите так же, как в задаче «Две половинки».

В этой задаче нельзя использовать методы count и replace. Также желательно использовать метод find с двумя параметрами, вместо вызова метода find к срезу.

ВводВывод

J: Повторение слова

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

В этой задаче нельзя использовать методы count и replace. Также желательно использовать метод find с двумя параметрами, вместо вызова метода find к срезу.

ВводВывод

K: Разворот слова

Текст состоит из слов, разделённых пробелами. В тексте как минимум одно слово. Переставьте буквы второго слова (если оно есть) в обратном порядке.

Решение выведите так же, как в задаче «Две половинки».

В этой задаче нельзя использовать методы count и replace. Также желательно использовать метод find с двумя параметрами, вместо вызова метода find к срезу.

ВводВывод

L: Футбольный матч

На табло стадиона в конце игры горит надпись:

где Название 1 и Название 2 — названия двух команд, а A:B — счёт матча.

Определите, какая команда победила.

Названия команд могут содержать любые символы (буквы, цифры, знаки), кроме «-» и «:». Символы «-» и «:» содержатся в строке ровно по одному разу.

Решение выведите так же, как в задаче «Две половинки».

ВводВывод

M: Вставка символов

Дана строка. Получите новую строку, вставив между каждыми соседними символами исходной строки символ «.». Выведите полученную строку.

В этой задаче можно использовать цикл, но можно обойтись и без него (нужно догадаться самому).

N: Удалить каждый третий символ

Дана строка. Удалите из нее все символы, чьи индексы делятся на 3.

Решение выведите так же, как в задаче «Две половинки».

В этой задаче вам придётся использовать цикл.

ВводВывод

O: Метод бутерброда

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

К сожалению, программист агентства, написал только программу шифрования и уволился. И теперь агенты не могут понять, что же они написали друг другу. Помогите им.

Вводится слово, зашифрованное методом бутерброда. Выведите расшифрованное слово.

Решение выведите так же, как в задаче «Две половинки».

В этой задаче можно обойтись без цикла (и это не очень сложно), но цикл не запрещается.

P: Скрытие адреса email

Для защиты от ботов, собирающих с web-страниц адреса электронной почты для рассылки спама, используются методы скрытия адреса электронной почты. Рассмотрим самый простой метод скрытия: в адресе электронной почты символы «.» меняются на «(dot)», символ «@» меняется на «(at)».

Дана строка текста, в ней есть один адрес электронной почты (он содержит один символ «@»). В адресе электронной почты (считайте, что адрес — это слово, отделённое пробелами) выполните указанные замены, в остальных местах замены производить не нужно.

Решение выведите так же, как в задаче «Две половинки».

ВводВывод

Q: Смайлики

Напишите программу, которая посчитает количество смайликов в заданном тексте.

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

в то время как эти последовательности смайликами не являются (хотя некоторые из них содержат смайлики внутри):

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

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

Эту задачу можно решить в одну строчку.

ZA: Максимальный подпалиндром

Палиндромом называется строка, которая читается одинаково как слева направо, так и справа налево. Примеры палиндромом: RADAR, RACECAR.

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

ВводВывод

ZB: Дополни до палиндрома

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

ВводВывод

ZC: Клад

Путь к кладу задан в виде указаний, какое количество шагов нужно пройти в одном из четырёх направлений: север (N), юг (S), запад (W), восток (E). Весь маршрут записан в виде строки, содержащей последовательность из чисел и следующих за числами букв, указывающих направление перемещения. Например, строка «7N5E2S3E» означает «пройти 7 шагов на север, 5 шагов на восток, 2 шага на юг, 3 шага на восток». В маршруте может быть много команд перемещения, поэтому каждый такой маршрут можно сократить. Например, ранее приведённый маршрут можно сократить до «5N8E». По данному маршруту до клада сократите его до строки минимальной длины.

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

ВводВывод

ZD: Удалить один символ

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

Программа получает на вход одну строку и должна вывести единственное число: номер символа в строке, при удалении которой слово становится палиндромом, нумерация начинается с 1. Если при удалении любого символа строка не станет палиндромом, программа должна вывести число 0.

Источник

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

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