Не решено задание
Какие из приведённых выражений верно извлекают подстроку "форма" из строки s = "информатика"? Варианты: s[2:6]; s[2:7]; s[2:6:5]; s[2:7:1]; s[3:7]
Пронумеруем символы строки "информатика" с нуля:
| и | н | ф | о | р | м | а | т | и | к | а |
Подстрока "форма" начинается с индекса
- s[
: ] — "форм" (нет буквы «а»), не подходит. - s[
: ] — "форма", подходит. - s[
: : ] — шаг , получится "ф", не подходит. - s[
: : ] — шаг , то же, что s[ : ], то есть "форма", подходит. - s[
: ] — "орма", не подходит.
В срезе s[a:b:k] берутся символы с индекса a до b−
s[
Соотнесите срез и его результат для строки s = "python". Срезы: s[0]; s[−1]; s[2:4]; s[1]. Варианты результата: 'y'; 'yth'; 'p'; 'th'; 'n'
Индексы строки "python":
| p | y | t | h | o | n |
- s[
] — символ с индексом : 'p'. - s[−
] — последний символ: 'n'. - s[
: ] — индексы и : 'th'. - s[
] — символ с индексом : 'y'.
Отрицательный индекс считается с конца: −
s[
s[−
s[
s[
Какие методы строк в Python изменяют регистр символов? Варианты: lower(); title(); upper(); split(); strip()
- lower() — переводит все буквы в нижний регистр, подходит.
- title() — делает первую букву каждого слова заглавной, подходит.
- upper() — переводит все буквы в верхний регистр, подходит.
- split() — разбивает строку на список подстрок, регистр не меняет.
- strip() — удаляет пробелы по краям строки, регистр не меняет.
Регистр меняют методы lower, upper, title (а также capitalize, swapcase). split разделяет строку, strip убирает лишние символы по краям.
lower(); title(); upper()
