62. Массивы 63. Алгоритмы обработки массивов
Скачать 1.09 Mb.
|
Операции со строкамиСрезы: s = "0123456789" s1 = s[:8] # "01234567" от начала строки s = "0123456789" s1 = s[3:] # "3456789" до конца строки s1 = s[::-1] # "9876543210" реверс строки Операции со строкамиСрезы с отрицательными индексами: s = "0123456789" s1 = s[:-2] # "01234567" N-2 s = "0123456789" s1 = s[-6:-2] # "4567" N-2 N-6 Операции со строкамиВставка: s = "0123456789" s1 = s[:3] + "ABC" + s[3:] Удаление: s = "0123456789" s1 = s[:3] + s[9:] # "0129" "012" "9" "012ABC3456789" Стандартные функцииВерхний/нижний регистр: s = "aAbBcC" s1 = s.upper() # "AABBCC" s2 = s.lower() # "aabbcc" Проверка на цифры: s = "abc" print ( s.isdigit() ) # False s1 = "123" print ( s1.isdigit() ) # True … и много других. Поиск в строкахs = "Здесь был Вася." n = s.find ( "с" ) # n = 3 if n >= 0: print ( "Номер символа", n ) else: print ( "Символ не найден." ) Находит первое слева вхождение подстроки! ! s = "Здесь был Вася." n = s.rfind ( "с" ) # n = 12 Поиск с конца строки: Пример обработки строкЗадача: Ввести имя, отчество и фамилию. Преобразовать их к формату «фамилия-инициалы». Пример: Введите имя, отчество и фамилию: Василий Алибабаевич Хрюндиков Результат: Хрюндиков В.А. Алгоритм:
Алибабаевич Хрюндиков Хрюндиков Хрюндиков В.А. Пример обработки строкprint ( "Введите имя, отчество и фамилию:" ) s = input() n = s.find ( " " ) name = s[:n] # вырезать имя s = s[n+1:] n = s.find ( " " ) name2 = s[:n] # вырезать отчество s = s[n+1:] # осталась фамилия s = s + " " + name[0] + "." + name2[0] + "." print ( s ) Пример обработки строкprint ( "Введите имя, отчество и фамилию:" ) s = input() fio = s.split() s = fio[2] + " " + fio[0][0] + "." + fio[1][0] + "." print ( s ) Решение в стиле Python: Василий Алибабаевич Хрюндиков fio[2] fio[1] fio[0] Задачи«A»: Ввести с клавиатуры в одну строку фамилию, имя и отчество, разделив их пробелом. Вывести фамилию и инициалы. Пример: Введите фамилию, имя и отчество: Иванов Петр Семёнович П.С. Иванов Задачи«B»: Ввести адрес файла и «разобрать» его на части, разделенные знаком "/". Каждую часть вывести в отдельной строке. Пример: Введите адрес файла: C:/Фото/2013/Поход/vasya.jpg C: Фото 2013 Поход vasya.jpg Задачи«C»: Напишите программу, которая заменяет во всей строке одну последовательность символов на другую. Пример: Введите строку: (X > 0) and (Y < X) and (Z > Y) and (Z <> 5) Что меняем: and Чем заменить: & Результат (X > 0) & (Y < X) & (Z > Y) & (Z <> 5) |