10 клас (профіль)


25 урок "Лінійні структури даних"




16 урок "Оператори циклу"





Робота №1

Основні графічні примітиви

 

Завдання 1. Тренувальне

Використовуючи інструменти Прямокутник, Еліпс, Спіраль, Полігон і Міліметрівка, побудувати наступні зображення:


 

Кореляційний аналіз





Методи символьних рядків

Об'єкти типу str мають багато методів. Ми розглянемо декілька з них, насамперед ті, що найчастіше використовуються.


split()

Метод split() "розбиває" об'єкт символьного типу по вказаному символу чи цілому рядку і повертає список рядків.

Припустимо якщо ми хочемо розділити рядок на окремі слова, то треба "розбити" цей рядок по символу "пробіл":

>>> s = "Happy New Year"
>>> s.split(' ')
['Happy', 'New', 'Year']
>>>

Ми отримали список елементами якого є окремі слова символьного рядка. Давайте переконаймося що ми отримали саме список:

>>> l = s.split(' ')
>>> type(l)
<class 'list'>
>>>

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

>>> l[0]
'Happy'
>>> l[2]
'Year'
>>> l[1:]
['New', 'Year']
>>>

Елементами списку є символьні рядки:

>>> type( l[0] )
<class 'str'>
>>> print( l[1] + ' ' + l[2] )
New Year
>>> g = l[1] + ' ' + l[2] + ' 2018'
>>> g
'New Year 2018'
>>> print(g)
New Year 2018
>>>

В якості аргументу методу split() можна передати не тільки одни символ, а й цілий рядок:

>>> s = 'to be or not to be'
>>> s.split('not')
['to be or ', ' to be']
>>> s.split('be')
['to ', ' or not to ', '']
>>>

Якщо не вказувати жодного аргументу методу split(), то рядок буде робзитий по пробілу:

>>> s = 'to be or not to be'
>>> s.split()
['to', 'be', 'or', 'not', 'to', 'be']
>>>

Розглянемо ще декілька прикладів використання split():

>>> date = '2017-12-31'
>>> sep_date = date.split('-')
>>> sep_date
['2017', '12', '31']
>>> year = sep_date[0]
>>> year
'2017'
>>> month = date.split('-')[1]
>>> print('Month =', month)
Month = 12
>>>
>>> s1 = 'Number of girls:11'
>>> s2 = 'Number of boys:10'
>>> s1.split(':')
['Number of girls', '11']
>>> s1.split(':')[1]
'11'
>>> n1 = s1.split(':')[1]
>>> n1
'11'
>>> n2 = s2.split(':')[1]
>>> total = int(n1) + int(n2)
>>> total
21
>>> type(total)
<class 'int'>

join()

Метод join() об'єднує об'єктом рядкового типу послідовність з елементів рядкового типу і повертає символьний рядок. Звучить трохи складно? Розглянемо на прикладі:

>>> l = ['Red', 'Green', 'Blue']  # список з трьох елементів рядкового типу
>>> s = '+'
>>> result = s.join(l) # об'єднуємо елементи списку "l" за допомогою рядка "s"
>>> result
'Red+Green+Blue'
>>> type(result)  # отримуємо рядок
<class 'str'>
>>>

Зауважте, що метод join() відноситься до рядка, а не до списку! Запис виду:

s.join(sequence)

можна прочитати так:

об'єкт "s" рядкового типу приймає послідовність "sequence" і об'єднує елементи цієї послідовності методом конкатенації перемежаючи елементи своїм значенням.

або ж ще простіше:

об'єднати послідовніть "sequence" за допомогою рядка "s"

Розглянемо приклади використання метода join():

>>> l = ['Red', 'Green', 'Blue']
>>> ' '.join(l)  # явно вказуємо рядок, яким об'єднувати список
'Red Green Blue'
>>> t = ('Good', 'bye')  # кортеж — теж послідовність
>>> '-'.join(t)
'Good-bye'
>>> s = 'HELLO' # і символьний рядок — теж послідовність елементами якої є окремі символи
>>> ' '.join(s)
'H E L L O'
>>> '.'.join('017') # явно вказуємо і послідовність, і чим її об'єднувати
'0.1.7'
>>> ''.join( ['Sun', 'day'] )  # пустим рядком теж можна об'єднати
'Sunday'
>>>
>>> l = [1, 2, 3] # щоб отримати рядок об'єднувати можна, певна річ, тільки рядки
>>> '-'.join(l)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: sequence item 0: expected str instance, int found
>>>

find()

Пошук рядка в іншому рядку.

string.find(substring)

Метод повертає індекс першого входження рядка "substring" у рядку "string". У разі якщо рядок "string" не містить рядка "substring" повертає -1.

>>> s = 'to be or not to be'
>>> s.find('be')
3
>>> s.find('to')
0
>>> s.find('well')
-1
>>>

upper()

string.upper()

Переводить усі символи рядка "string" у верхній регістр.

>>> 'hello'.upper()
'HELLO'
>>> 'wElL'.upper()
'WELL'
>>>

lower()

string.lower()

Переводить усі символи рядка "string" у нижній регістр.

>>> 'Hello'.lower()
'hello'
>>> 'wElL'.lower()
'well'
>>>

replace()

string.replace(old, new)

Шукає у рядку "string" усі входження рядка "old" і заміняє їх рядком "new".

>>> s = 'to be or not to be'
>>> s.replace('be', 'beat')
'to beat or not to beat'
>>> s.replace('beat', 'eat')
'to be or not to be'
>>>

Немає коментарів:

Дописати коментар

 11 клас Тести по БД