суботу, 30 червня 2018 р.

Алгоритми з операціями та функціями над cписками мовою Python.


Практична робота.  
Алгоритми з операціями та функціями
 над cписками мовою Python.



Завдання 1. Створити та реалізувати алгоритм, що використовує операцію об’єднання списків та множення цілого числа на список. Зразок алгоритму, що використовує об’єднання та множення  списків мовою Python:
T1=[4, 5, 6]                                          # оголошується список Т1, який має посилання на список із трьох чисел
T2=[1, 2, 3]                                          # оголошується список Т2, який має посилання на список із трьох чисел
T=2*T1+3*T2                        # оголошується новий список Т, який утвориться із двох різних списків  (Т має 15 елементів)
M=[0]*3                                             # оголошується  список М, який посилається на список [0,0,0]       
for i in range(len(M)):                       # оголошується цикл, який має лічильник, що не перевищує довжину М1.
  M[i]=2*T1[i]+3*T2[i]                  # арифметичне множення і додавання відповідних елементів із 2 різних списків.
print T                                                 #виводиться на екран   список T на 15 елементів
print M                                               #[11,16,21]-виводиться на екран список M.
Протестуйте алгоритм для:  1) T1=[‘(2-f)’, ‘(7-5n)’, ‘-(2+s)’ ; T2=[‘7’, ‘-3’, ‘2’]  2) T1=[-564, -155, -136] ; T2=[7.7, -3.5, 6.8]                                                                                  

Завдання 2. Створити та реалізувати алгоритм, що використовує операцію утворення списку з випадкових об’єктів.
Зразок алгоритму, що використовує генерування випадкових об’єктів  мовою Python:
import random                                                    # виклuкається модуль, що генерує  випадкові об’єкти
M1=['analysis',  'synthesis', 'studying', 'research']         # оголошується список M1 із невипадкових символьних рядків
K=['None']*4                                           # оголошується список K= ['None', 'None', 'None', 'None']                         
N=['None']*4                                             # оголошується список N= ['None', 'None', 'None', 'None']                         
for i in range(len(M1)):                                   # оголошується цикл з лічильником , що не перевищує довжину М1
  N[i]= random.choice(M1)                           # присвоює будь-яке(випадкове) значення із списку М1
  K[i]= random.choice(M1)                              # присвоює ,будь-яке(випадкове) значення із списку М1
K11= random.randint(0,10)                             #оголошується число к11  з посиланням на випадковy цифру.
P=random.gauss(1,10)                           #оголошується число P  з посиланням на випадкове дробове число.
print 'M1=',M1          
print'N=', N                                       #виводиться на екран  вміст  списків з випадковими елементами
print'K=',K                                        #виводиться на екран  вміст  списків з випадковими елементами
print 'K11=',K11,  'P=',P,  ' K11-P*random number(10, 100)=', K11-P*random.randint(10,100)  #виводиться результат обчислення «замороченого»  тобто обрахованого  випадкового цілого числа
print '2**K11-4*K11+random.randint(100,1000)=', 2**K11-4*K11+random.randint(100,1000)
Протестуйте алгоритм  декілька разів.

Завдання 3. Створити та реалізувати алгоритм, що використовує операцію заміни елемента в списку з різних об’єктів та пошук найбільшого елемента в списку.
Зразки алгоритмів, що використовує пошук найбільшого елемента в списку  об’єктів  мовою Python:
print '  *********ОПЕРАЦІЇ НАД СПИСКАМИ, що містять  різні числа та рядки*******  '
lst1=[1,2,3, 'analysis',  'synthesis', 'studying', 'research']      # оголошується в список lst1 з числами та рядками
print 'lst1=', lst1                                                                      #виводиться на екран cписок
lst1[0]=-1; lst1[1]='-n';  lst1[2]='-3n';                   # оголошується в списку заміна деяких елементів  на інші
print 'lst1=', lst1                                                  #виводиться на екран cписок
print 'max(lst1)= ',  max(lst1)   #виводиться на екран найбільший символ за його кодом
print 'min(lst1)= ',  min(lst1)    #виводиться на екран найменший символ за його кодом
print '  *********ОПЕРАЦІЇ НАД СПИСКАМИ, що містять  числа*******  '
lst2=[-4.7, -5.8, 6.3]                        # оголошується список lst2, який має посилання на список із трьох чисел
lst2[0]=-20.05                        # оголошується в списку заміна третього елемента на на число -20.05
lst2[1]=-18.35                          # оголошується в списку заміна третього елемента на на число -18.35
lst2[2]=-10.55                           # оголошується в списку заміна третього елемента на на число -10.55
MIN=min(lst2); MAX=max(lst2);  middle=(MIN+MAX)/2                   # пошук та рахунок в списку MAX, MIN, middle
print 'lst2=', lst2                                                    #виводиться на екран cписок
print 'min(lst2)= ',  MIN                                     #виводиться на екран найменше число
print 'max(lst2)= ',  MAX                                   #виводиться на екран найбільше число
print 'middle(lst2)= ' ,middle                         # на екран cередина між найбільшим та наймешим числами
print '  *********ОПЕРАЦІЇ НАД СПИСКАМИ, що містять  рядки*******  '
lst3=['a', 'b', 'c','d','e','f']      # оголошується список lst3, який має посилання на список із символів
print 'lst3=', lst3                                        # виводиться на екран cписок
for i in range(len(lst3)):         # оголошується цикл, який має лічильник, що не перевищує довжину lst3.
  lst3[i]=i*('1+h')+ 'A'            # кратне множення на «і» символів «1+h» та додавання  «А» до отриманих символів
  print 'lst3[i]=', lst3[i]                         # виводиться на екран відповідний елемент зі  cписку
print 'lst3=', lst3                             # виводиться на екран  весь cписок
print 'min(lst3)= ', min(lst3)           #виводиться на екран найменший символ за кодом із списку
print 'max(lst3)=', max(lst3)               #виводиться на екран  найбільший символ за кодом   із списку
  Протестуйте ці  три  алгоритми 


Завдання 4. Створити та реалізувати алгоритм, що використовує функцію сортування списку  та запис  у зворотному порядку  об'єктів у списку.
Зразок алгоритму, що використовує сортування та зворотний запис об’єктів зі списку  мовою Python:
print '  *********ОПЕРАЦІЇ  сортування і реверсу НАД СПИСКАМИ, що містять  числа та рядки*******  '
lst1=[20,5,15,4,-7,-19, 0, 17]      # оголошується в список lst1 з цілими числами
lst2=['a1','a2','a3','a4']                  # оголошується в список lst2 з рядками символів
print 'lst1=', lst1                                   #виводиться на екран cписок
print 'lst2=', lst2                               #виводиться на екран cписок
lst1.sort();                                           # оголошується cортування за зростанням елементів  списку  lst1
lst2.reverse()                                       # оголошується в списку зворотний запис  елементів  списку lst2
print ' sort_lst1= ', lst1                                  #виводиться на екран відсортований список lst1
print 'reverse_lst2= ', lst2                #виводиться на екран зворотний запис списку lst2
Протестуйте алгоритм для:  1) LST1=[‘g-f’, ‘k-5n’, ‘-d+s’ ; LST2=[‘m’, ‘y’, ‘a’]  2) lst1=[-5, -1, -6] ; lst2=[7.7, -3.5, 0.8]                                                                                  


Завдання 5. Створити та реалізувати алгоритм, що використовує функцію створення кортежів  zip() на основі двох списків.
Зразок алгоритму, що використовує генерування кортежів на основі двох списків мовою Python:
print '  *********ОПЕРАЦІЇ  zip  НАД двома СПИСКАМИ, що містять  числа та рядки*******  '
lst1=[1,2,3,4]      # оголошується в список lst1 з цілими числами
lst2=['a','b','c','d']                  # оголошується в список lst2 з рядками символів
print 'lst1=', lst1                                   #виводиться на екран cписок
print 'lst2=', lst2                               #виводиться на екран cписок
lst=zip(lst1, lst2)                # оголошується новий список кортежів на основі двох  lst1 та  lst2
print 'lst= ', lst        #виводиться на екран список lst=[(1, 'a'), (2, 'b'),  (3, 'c'),  (4, 'd')]
Протестувати алгоритм.     

Завдання 6. Створити та реалізувати алгоритм, що використовує функцію map() на основі двох списків.
Зразок алгоритму, що використовує генерування нового списку  на основі map() і двох списків мовою Python:
print '  *********ОПЕРАЦІЇ  map()  НАД двома СПИСКАМИ, що містять  числа та рядки*******  '
lst1=[1,2,3,4]      # оголошується в список lst1 з цілими числами
lst2=[0.2, 0.4, 0.5, 0.8]                  # оголошується в список lst2 з рядками символів
print 'lst1=', lst1                                   #виводиться на екран cписок
print 'lst2=', lst2                               #виводиться на екран cписок
t1=map(lambda x: 2*x-1, lst1)                        # оголошується функція map() для списку lst1
t2=map(lambda x: int(10*x), lst2)                        # оголошується функція map() для списку lst2
t3=map(lambda x,y:  x*y+y/x, lst1, lst2)        # оголошується функція map() для списків  lst1 та  lst2
t4=map(lambda x,y: (х+y-x*y)**(0.5), t1, t2)       # оголошується функція map() для списків t1, t2
print 't1= ', t1        #виводиться на екран список непарний чисел  t1=[1,3, 5, 7]
print 't2= ', t2        #виводиться на екран список  t2=[2.0, 4.0 ,5.0, 8.0]
print 't3= ', t3        #виводиться на екран список t3=[0.4, 1.0, 1.6666666666666667, 3.4000000000000004]
print 't4= ', t4        #виводиться на екран список t4=  [1.0, 1.2649110640673518, 1.4142135623730951,
1.2649110640673515]
print '  *********ОПЕРАЦІЯ  map()  для пошуку скалярного добутку векторів*******  '
lst11=[1,2,3,4]      # оголошується в список lst11 з цілими числами
lst22=[4,-3, 2,-1]      # оголошується в список lst22  з цілими числами
T5=[0]*4
T5=map(lambda x,y: x*y, lst11,lst22)                       
S=0
for i in range(len(T5)):
  S=S+T5[i]
print S
Протестувати алгоритм.     
Завдання 7. Створити та реалізувати алгоритм, що використовує основні функції перетворення структурних даних.
Зразок алгоритму, що використовує функції str(),int(),float(),ord(),chr(),divmod() мовою програмування Python:
print 'str(777)=',  str(777)                             # перетворює число 777 в рядок символів ‘777’
print 'int(‘777’)=',     int('777')                   # перетворює рядок cимволів ‘777’ в ціле число 777
print 'int(‘77’)**2=',     int('77')**2              # перетворює рядок cимволів ‘77’  і обчислює: 77**2   
print 'float(‘7.077’)=',  float('7.077')             # перетворює ‘7.077’ в дійсне число  7,077
print 'float("7.0")-float("7.7")=',  float('7.0')-float('7.7')
print 'ord(‘f’)=', ord('f'),  'ord("g")= ', ord('g')         # перетворює cимвол ‘f’ в код символа
print 'ord(‘f’)+ ord("g") ' , ord('f')+ ord('g')           # перетворює cимволи ‘f’ та ‘g’ в cуму
print ' chr(125)=', chr(125)                          # перетворює число=код символа в його cимвол ‘ ’
print '2*chr(124)+4*chr(125)=', 2*chr(124)+4*chr(125)

print 'divmod(17,4)=', divmod(17,4)                        # обчислює  цілу частину від 17/4 та остачу




пʼятницю, 29 червня 2018 р.

Операції та методи(функції) над рядками мовою програмування Python 2.7

Практична робота 1.
Алгоритми з операціями над рядками мовою Python.

Завдання 1.1. Створити та реалізувати алгоритм, що використовує операцію додавання рядків.
Зразок алгоритму, що використовує додавання рядків мовою Python:

T1='ви'
T2='го'
T3='да'
print  T1+T2+T3                      #отримаємо додавання трьох рядків, тобто cлово «вигода»

Протестуйте цей алгоритм в програмному середовищі IDLE.

Завдання 2.1. Створити та реалізувати алгоритм, що використовує операцію множення рядка на ціле число.
Зразок алгоритму, що використовує множення рядків мовою Python:

m1='analysis+'
n1='synthesis='
k1='studying'
k11='kan'
print m1+n1+k1                                  #отримаємо словесний вираз
print 2*m1+3*n1+4*k1                   #отримаємо заморочений словесний вираз
print k11*2                                       #отримаємо двократне повторення,тобто рядок «канкан»
print 5*k11,'-',3*k11,'=',2*k11      #отримаємо «словесний» вираз із рядка «кан»

Протестуйте цей  алгоритм в програмному середовищі IDLE.

Завдання 3.1. Створити та реалізувати алгоритм, що використовує операцію визначення довжини рядка len(s)(кількість символів в рядку)
Зразок алгоритму, що використовує  знаходження довжини суми рядків мовою Python:

m1='analysis+'
n1='synthesis='
k1='studying'
print    m1+n1+k1, len(m1+n1+k1)      
print    2*m1+3*n1+4*k1, len(2*m1+3*n1+4*k1)               #80 – кількість символів в рядку  2*m1+3*n1+4*k1

Протестуйте алгоритм в програмному середовищі IDLE.

Завдання 4.1. Створити та реалізувати алгоритм, що використовує операцію вибору елементів із  рядка s[i](вибір і-того символу в рядку(як в додатному, так і у від'ємному напрямі)
Зразок алгоритму, що використовує  операцію вибору  елементів із  рядка мовою Python:

m1='analysis+'
n1='synthesis='
k1='studying'
A=m1[0]+n1[2]+k1[-1]+n1[5]+m1[-6]
print A, len(A)       # 5 – це довжина рядка  із символів «а+n+g+e+l=angel»

Протестуйте цей  алгоритм в програмному середовищі IDLE.

Завдання 5.1. Створити та реалізувати алгоритм, що використовує  функцію форматованого виводу format()  для виведення  елементів
Зразок алгоритму, що використовує  операцію вибору  елементів із  рядка мовою Python:

n=' ціле число: 25,'
f=' дійсне число: 9.03'
s=' search string'
print '{} {} {}'.format(n, f, s)        # виведеться на екран фраза: «ціле число: 25  дійсне число: 9.03 search string»

Протестуйте алгоритм в програмному середовищі IDLE.

Завдання 6.1. Створити та реалізувати алгоритм, що використовує операцію вибору елементів із  рядка s[i](вибір   і-того символу в рядку(як в додатньому, так і у відємному напрямі)
Зразок алгоритму, що використовує  операцію вибору  елементів із  рядка мовою Python:

m1='analysis+'
n1='synthesis='
k1='studying'
print 'останній символ в m1:{}, останній символ в n1:{}, {},{}'.format(m1[8], n1[-1], k1[0], min(k1))  

Протестуйте алгоритм в програмному середовищі IDLE.
  
Завдання 7. 1.Створити та реалізувати алгоритм, що використовує операцію вибору min(), max() елементів із  рядка
Зразок алгоритму, що використовує  операцію вибору min(), max()  елементів із  рядка мовою Python:

m1=min('analysis+')
n1=max('synthesis=')
k1=max('studying')
print '{},{},{}'.format(m1,n1,k1)

Протестуйте алгоритм в програмному середовищі IDLE.


Практична робота 2.
 Рядки. Функції над рядками.

Завдання 1. Створити та реалізувати алгоритм, що використовує операцію capitalize() створення прописного символу  на початку  рядків.
Зразок алгоритму, що використовує capitalize() для рядків мовою Python:

print '**Функція** capitalize()***UkRAIne-Ukraine****'   # виведеться на екран фраза
S1='UkRAIne'                                       #оголошується рядок  S1 з символами
S2=S1.capitalize()            # застосовується функція до  рядка
print 'S1=', S1, 'S2=', S2     # виведеться на екран змінений рядок

Протестуйте алгоритм в програмному середовищі IDLE.
Протестувати алгоритм для: 1) S1='ОХохОХох';  2) S1='qwerty';  3) S1='ОLKJHGFDSA'

Завдання 2. Створити та реалізувати алгоритм, що використовує операцію swapcase() зміни тільки прописних букв на маленькі  букви  в  рядкy
Зразок алгоритму, що використовує swapcase() для рядків мовою Python:

print '***Функція** swapcase()*** VinniTSA - vINNItsa***'             # виведеться на екран фраза
S3='VinniTSA'                                                                   #оголошується рядок  S3 з символами
S4=S3.swapcase()                                             # застосовується функція до  рядка
print 'S3=', S3, 'S4=', S4           # виведеться на екран змінений рядок

Протестуйте алгоритм в програмному середовищі IDLE.
Протестувати алгоритм для: 1) S3='ОHоhОHоh';  2) S3='qwerty';  3) S3='ОLKJHGFDSA'

Завдання 3. Створити та реалізувати алгоритм, що використовує операцію upper() зміни усіх  букв на усі  прописні(великі) букви  в  рядкy
Зразок алгоритму, що використовує upper() для рядків мовою Python:
Print '**Функція** upper()**LyceUM - LYCEUM ***'  # виведеться на екран фраза
S5='LyceUM'                                           #оголошується рядок  S5 з символами
S6=S5.upper()                               # застосовується функція до  рядка
print 'S5=', S5, 'S6=', S6                # виведеться на екран змінений рядок

Протестуйте алгоритм в програмному середовищі IDLE.
Протестувати алгоритм для: 1) S5='ОHоhОHоh';  2) S5='qwerty';  3) S5='ОLKJHGFDSA'

Завдання 4. Створити та реалізувати алгоритм, що використовує операцію lower() зміни усіх  букв на усі  маленькі  букви  в  рядкy
Зразок алгоритму, що використовує lower() для рядків мовою Python:

Print '**Функція** lower()****INFORMATIKA- informatika ****' # виведеться на екран фраза
S7='INFORMATIKA'                           #оголошується рядок  S7  з символами
S8=S7.lower()                                       # застосовується функція до  рядка
print 'S7=', S7, 'S8=', S8                            # виведеться на екран змінений рядок

Протестуйте алгоритм в програмному середовищі IDLE.
Протестувати алгоритм для: 1) S5='ОHоhОHоh';  2) S5='qwerty';  3) S5='ОLKJHGFDSA'

Завдання 5. Створити та реалізувати алгоритм, що використовує  функцію форматованого виводу format()  для виведення  елементів рядка
Зразок алгоритму, що використовує  операцію вибору  елементів із  рядка мовою Python:

n='ціле ЧИСЛО'                          #оголошується рядок  n  з символами
n1=n.lower()                               # застосовується функція до  рядка                      
f='ДІЙСНЕ число'                         #оголошується рядок  f  з символами
f1=f.upper()                               # застосовується функція до  рядка
s='SEARCH STRING'                        #оголошується рядок  s  з символами
s1=s.swapcase()                        # застосовується функція до  рядка                     
print '{} {} {}'.format(n, f, s)          # виведеться на екран незміненні рядки
print '{} {} {}'.format(n1, f1, s1)        # виведеться на екран зміненні рядки

Протестуйте алгоритм в програмному середовищі IDLE.
Протестувати алгоритм для 1) n='ЦІЛЕ ЧИСЛО'   f='дійсне число'  s='SEArch strING'  
                                                                         
Завдання 6. Створити та реалізувати алгоритм, що використовує операцію вибору елементів із  рядка s[i](вибір   і-того символу в рядку(як в додатньому, так і у відємному напрямі)
Зразок алгоритму, що використовує  операцію вибору  елементів із  рядка мовою Python:

m1='analysis+'; m2=m1.capitalize()           
n1='synthesis=';   n2=n1.swapcase()                        
k1='studying'; k2=k1.swapcase()                        
print 'останній символ в m1:{}, останній символ в n1:{}, {},{}'.format(m2[8], n2[-1], k2[0], min(k2))    


Протестуйте цей алгоритм в програмному середовищі IDLE.



Методи(функції) над рядками мовою програмування Python 2.7


Практична робота 3. 
Функції(методи) над рядками мовою програмування Python

На об’єкт рядки(str) мовою програмування Python можна задавати функції(методи). Продемонструємо їх у наступних завданнях.

Завдання 1Створити та реалізувати алгоритм, що використовує функцію вирівнювання рядка( розміщення рядка по центру m1.center(d)   , по лівому краю n1.ljust(d)   , по правому краю k1.rjust(d)    )
Зразок алгоритму, що використовує  метод вирівнювання  елементів  рядка мовою Python:

m1='+center+'
print m1.center(26)   # розміщення рядка на 26 символів з вирівнюванням по центру
n1='-left-'
print n1.ljust(27)   # розміщення рядка на 27 символів  з вирівнюванням по лівому краю
k1='&-right-&'
print k1.rjust(25)   # розміщення рядка на 25  символів з вирівнюванням по правому краю

Протестуйте цей алгоритм в програмному середовищі IDLE.
Протестувати цей алгоритм для 1) m1='+я вивчу мову Python+'     n1='-Я знаю мову Pascal-'     k1='&-algorytms-&'

Завдання 2Створити та реалізувати алгоритм, що використовує функцію кількості символів, що входять в  рядок count(s[,i,j])
Зразок алгоритму, що використовує  метод  кількості входжень елементів в  рядок мовою Python:

m1='+center+'
print m1.count('+'),'= 2 –  кількість входжень символу «+» в рядок  m1=+center+'
n1='---left---'
print n1.count('-',0,5),'=3 - кількість входжень символу(на перших 6 місцях)  «-» в рядку n1=---left---'
k1='&-fight-&-fight-fight -fight'
print k1.count('-fight',0,8),'=1 - кількість входжень послідовності символів(на перших 9-и) «-fight» в рядку k1=&-fight-&-fight-fight -fight'

Протестуйте алгоритм в програмному середовищі IDLE.
Протестувати цей алгоритм для:  m1='+я+вчу+мову+Python+'     n1='-Я-знаю- Pascal-'     k1='&-algorytms-&'

Завдання 3Створити та реалізувати алгоритм, що використовує функцію визначення  номера позиції першого символу зліва в підрядку, що входить в  рядок find(s[,i,j])
Зразок алгоритму, що використовує  метод  визначення  номера позиції першого символу зліва в підрядку    рядка  мовою Python:

m1='+abrakadabra+'
print m1.find('abra'),'= 1 –  номер позиції першого символу «а» в рядку:', 'рядок=',  m1, 'довжина рядка=', len(m1)
print m1.count('abra'), '= 2 –  кількість входжень символу «abra» в рядок  m1=+abrakadabra+'
n1='---ababagalamaga---'
print n1.find('aga',5,18),'=7 – номер  позиції першого символy(на 5-18-и місцях)  «a» в рядку:', n1, len(n1)
print n1.count('aga'), '= 2 –  кількість входжень символу aga в рядок  n1=---ababagalamaga---'
k1='...І що сало? Ласощі...А чи в окуня шабаш Януковича...Вор Азаров...І мчу кіло бараболі Кучмі...'
print k1.find('...',15,35),'=20- номер позиції першого символy (на 15-35-и) «...» в рядку:', k1, len(k1)
print k1.count('...'), '= 5–  кількість входжень символу ... в рядок  k1'

Протестуйте алгоритм в програмному середовищі IDLE.
Протестувати цей алгоритм для 1) m1='—mabramabrakana--'   n1='!!!аgalamalavaga!!!'   k1='Козак…з…казок…'

Завдання 4Створити та реалізувати алгоритм, що використовує функцію визначення  номера позиції останнього  символу, якщо рахувати зліва на право в підрядку, що входить в  рядок rfind(s[,i,j])
Зразок алгоритму, що використовує  метод  визначення  номера позиції останнього  символу, якщо рахувати зліва на право в підрядку  рядка  мовою Python:

m1='abrakadabra'
print m1.find('br'),'= 1 – номер  першого символу «b» із першого підрядку "br":', m1, m1[m1.find('br')], len(m1)
print m1.rfind('br'),'= 8 – номер  першого символу «b» в останьому підрядку "br":',  m1, m1[m1.rfind('br')],len(m1)
n1='ababagalamaga'
print n1.find('ag'),'=4 – номер  першого символy «a» в першому підрядку "ag":', n1, n1[n1.find('ag')], len(n1)
print n1.rfind('ag'),'=10 – номер  першого символy «a» в останньому підрядку "ag":', n1,n1[n1.rfind('ag')],len(n1)
k1='gororogo'
print k1.find('oro'),'=1 - номер  першого символy  «o» в  першому підрядку "oro":', k1, k1[k1.find('oro')],len(k1)
print k1.rfind('oro'),'=3 - номер  першого символy  «o» в останньому підрядку "oro": ', k1, k1[k1.rfind('oro')],len(k1)

Протестуйте алгоритм в програмному середовищі IDLE.
Протестувати цей алгоритм для 1) m1='—mabramabrakana--'   n1='!!!аgalamalavaga!!!'   k1='Козак…з…казок…'

Завдання 5Створити та реалізувати алгоритм, що використовує функцію копіювання рядка з видалення пропусків(пробілів, або пустого  символу) напочaтку і в кінці рядка, strip(),  lstrip(), rstrip().
Зразок алгоритму, що використовує  метод  копіювання рядка з видалення пропусків(пробілів, або пустого  символу) зліва та справа від  рядка  мовою Python:

m1='      abrakadabra        '
print m1, len(m1),  m1.strip(),' – це копія рядка без пропусків',  len(m1.strip()),' – це довжина рядка без пропусків'
print m1.lstrip(),' – це копія без лівих пропусків',  len(m1.lstrip()),' – це довжина без лівих пропусків'
print m1.rstrip(),' – це копія без правих пропусків',  len(m1.rstrip()),' – це довж. без правих пропусків'
n1='                            ab ab aga lam aga    '
print n1, len(n1),  n1.strip(),' – це копія рядка без пропусків',  len(n1.strip()),' – це довжина рядка без пропусків'
print n1.lstrip(),' – це копія без лівих пропусків',  len(n1.lstrip()),' – це довжина без лівих пропусків'
print n1.rstrip(),' – це копія без правих пропусків',  len(n1.rstrip()),' – це довж. без правих пропусків'
k1='  go ro ro go                    '
print k1, len(k1),  k1.strip(),' – це копія рядка без пропусків',  len(k1.strip()),' – це довжина рядка без пропусків'
print k1.lstrip(),' – це копія без лівих пропусків',  len(k1.lstrip()),' – це довжина без лівих пропусків'
print k1.rstrip(),' – це копія без правих пропусків',  len(k1.rstrip()),' – це довж. без правих пропусків'

Протестуйте алгоритм в програмному середовищі IDLE.
Протестувати алгоритм на правильність з іншими даними.

Завдання 6Створити та реалізувати алгоритм, що використовує функцію створення нового рядка S1 з заміною окремих  фрагментів s2 у рядку  replace(s2,s3, n) новим фрагментом s3   кількістю в n разів.
Зразок алгоритму, що використовує  метод  replace(s2,s3, n)  мовою Python:

m1='abrakadabra'
print m1, len(m1),  m1.replace('a', 'ua', 5), ' – це новий рядок',  len(m1.replace('a', 'ua', 5)), ' – це довжина після змін'
print m1, len(m1),  m1.replace('br', 'gv', 1), ' – це новий рядок',  len(m1.replace('ag', 'ev', 5)), ' – це довжина змін'
print m1, len(m1),  m1.replace('abra', 'ga va  ', 2), ' – це новий рядок',  len(m1.replace('ag', 'ev', 5)), ' – це довжина змін'
n1=' ab ab aga lam aga'
print n1, len(n1),  n1.replace('a', 'ku_ma', 1), ' – це новий рядок',  len(n1.replace('a', 'ua', 5)), ' – це довжина після змін'
print n1, len(n1),  n1.replace('lam', 'var',1), ' – це новий рядок',  len(n1.replace('ag', 'ev', 5)), ' – це довжина змін'
print n1, len(n1),  n1.replace('aga', 'agava  ', 2), ' – це новий рядок',  len(n1.replace('ag', 'ev', 5)), ' – це довжина змін'
k1='noromogoro'
print k1, len(k1),  k1.replace('o', 'o u', 4), ' – це новий рядок',  len(k1.replace('a', 'ua', 5)), ' – це довжина після змін'
print k1, len(k1),  k1.replace('gor', 'gro mo', 2), ' – це новий рядок',  len(k1.replace('ag', 'ev', 5)), ' – це довжина змін'
print k1, len(k1),  k1.replace('oro', 'java  ', 5), ' – це новий рядок',  len(k1.replace('ag', 'ev', 5)), ' – це довжина змін' 

Протестуйте алгоритм в програмному середовищі IDLE. 
Протестувати алгоритм на правильність з іншими даними.

Практична робота №5. 
Вбудовані функції в мові програмування Python

Завдання 1. Створити та реалізувати алгоритм, що використовує вбудовані функції перетворення структурних даних.
Зразок алгоритму, що використовує функції str(),int(),float(),ord(),chr(),divmod() мовою програмування Python:

print 'str(777)=',  str(777)                             # перетворює число 777 в рядок символів ‘777’
print 'int(‘777’)=',     int('777')                   # перетворює рядок cимволів ‘777’ в ціле число 777
print 'int(‘77’)**2=',     int('77')**2              # перетворює рядок cимволів ‘77’  і обчислює: 77**2   
print 'float(‘7.077’)=',  float('7.077')             # перетворює ‘7.077’ в дійсне число  7,077
print 'float("7.0")-float("7.7")=',  float('7.0')-float('7.7')
print 'ord(‘f’)=', ord('f'),  'ord("g")= ', ord('g')         # перетворює cимвол ‘f’ в код символа
print 'ord(‘f’)+ ord("g") ' , ord('f')+ ord('g')           # перетворює cимволи ‘f’ та ‘g’ в cуму
print ' chr(125)=', chr(125)          # перетворює число=код символа в його cимвол ‘ ’
print '2*chr(124)+4*chr(125)=', 2*chr(124)+4*chr(125)
print 'divmod(17,4)=', divmod(17,4)    # обчислює  цілу частину від 17/4 та остачу

Протестуйте алгоритм в програмному середовищі IDLE.

Завдання 2. Створити та реалізувати алгоритм, що використовує вбудовані функції перетворення структурних даних.
Зразок алгоритму, що використовує функції abs(), bool(),dir (),eval(),exec(), len() мовою програмування Python:

import random
print '****Модуль числа abs() - це вбудована функція**число без знаку**'
print 'abs(-10)=',  abs(-10)           # обчислює  модуль числа /-10/
print 'Використання функції  abs() для перевірки чи присвоєне значення нуль***'
s1_s2=random.randint(0,3)       # обчислює  випадкове ціле число від 0 до 3
if abs(s1_s2)>0:
  print 's1-s2=', s1_s2,'автомобіль рухається, бо abs(s1_s2)>0 '
else:
    print 's1-s2=',s1_s2, 'автомобіль зупинився, бо abs(s1_s2)>0'

Протестуйте алгоритм в програмному середовищі IDLE.

Завдання 3. Створити та реалізувати алгоритм, що використовує вбудовану функції bool() для аналізу структурних даних.
Зразок алгоритму, що використовує функції bool() програмування Python:

print '****Логічна функція bool() - це вбудована функція**True*False**'
print '****Тестування функції bool() для чисел***True*False***'
print 'bool(0)=', bool(0)  'bool(1)=', bool(1),  'bool(-11.23)=', bool(-11.23)
print '**тестування функції bool() для порожніх стрічок та заповнених рядків)***True*False**'
print 'bool(“None”)=', bool('None'),  'bool(“a b c”)=', bool('a b c'),  'bool(' ')=', bool(' ')
print 'Тестування функції bool() для списків, кортежів, словників***True*False***'
v1=[];   v2=['vunder', 'kind'];   v3=['','']   
print 'bool(v1)=', bool(v1),v1,  'bool(v2)=',bool(v2),v2, 'bool(v3)=',bool(v3),v3
print 'Використання  функції bool() для перевірки чи користувач заповнив рядок чи ні***'
pik=input('Введіть рік народження:')
if  not bool(pik):
 print 'Вау,  невже ти забув рік свого народження!'
else:
 print 'Окей, ти добре знаєш рік свого народження!'

Протестуйте алгоритм в програмному середовищі IDLE.


Завдання 4. Створити та реалізувати алгоритм, що використовує вбудовані функції перетворення структурних даних.
Зразок алгоритму, що використовує функції dir (),eval(),exec(), len() мовою програмування Python:

print '****Довідкова функція dir() - це вбудована функція**видає перелік дій над даними**'
print 'dir(777)=',  dir(777)                # надає перелік дій над числом 777  і ти знаєш, що робити з 777
print 'dir ([‘777’])=',  dir(['777'])      # надає перелік дій над списком  [‘777’]  і ти знаєш, що робити
print 'dir(‘77’)**2=',   dir('77')             # надає перелік дій над рядком  cимволів ‘77’ 
print '****Довідкова функція help() - це вбудована функція**видає зміст  дій над даними**'
a='допомога програмісту  надається виключно англійською мовою'
print 'help(a.upper)=',  help(a.upper)             #пояснює зміст та результат дії  функції a.upper 
print 'a.upper=',  a.upper             # виводиться на екран  результат дії  функції a.upper 
lst1=[20,5,15,4,-7,-19, 0, 17]      # оголошується в список lst1 з цілими числами
lst2=['a1','a2','a3','a4']                  # оголошується в список lst2 з рядками символів
print 'help(lst1.sort())=',  help(lst1.sort())             #виводиться на екран  пояснення для функції lst1.sort
print 'help(lst2.reverse())=',  help(lst2.reverse())             #виводиться на екран cписок
print  lst1.sort();                 # виводиться на екран cортування за зростанням елементів  списку  lst1
print  lst2.reverse()                # виводиться на екран зворотний запис  елементів  списку  lst2


Протестуйте алгоритм в програмному середовищі IDLE.



Завдання для самостійної роботи.
1. Створити довільний текст, що містить більше 150 символів.
 2.Створити алгоритми:
a)для підрахунку усіх символів у вашому тексті
b)для заміни крапок у вашому тексті на знаки оклику.
c) для пошуку  слів у вашому тексті, що починаються з "йо".





Довідкова інформація для бажаючих якісно пізнавати
 дисципліну "Програмування мовою Python@



****Довідкова функція dir() - це вбудована функція**видає перелік дій над даними**

Повний перелік вбудованих функції(вони не вимагають імпортування модуля) над  цілими числами int 
в мові програмування Python

dir(777)= ['__abs__', '__add__', '__and__', '__class__', '__cmp__', '__coerce__', '__delattr__', '__div__', '__divmod__', '__doc__', '__float__', '__floordiv__', '__format__', '__getattribute__', '__getnewargs__', '__hash__', '__hex__', '__index__', '__init__', '__int__', '__invert__', '__long__', '__lshift__', '__mod__', '__mul__', '__neg__', '__new__', '__nonzero__', '__oct__', '__or__', '__pos__', '__pow__', '__radd__', '__rand__', '__rdiv__', '__rdivmod__', '__reduce__', '__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__', '__rmod__', '__rmul__', '__ror__', '__rpow__', '__rrshift__', '__rshift__', '__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', '__xor__', 'bit_length', 'conjugate', 'denominator', 'imag', 'numerator', 'real']

Повний перелік вбудованих функції над списками list 
в мові програмування Python

dir ([‘777’])= ['__add__', '__class__', '__contains__', '__delattr__', '__delitem__', '__delslice__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getslice__', '__gt__', '__hash__', '__iadd__', '__imul__', '__init__', '__iter__', '__le__', '__len__', '__lt__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__reversed__', '__rmul__', '__setattr__', '__setitem__', '__setslice__', '__sizeof__', '__str__', '__subclasshook__', 'append', 'count', 'extend', 'index', 'insert', 'pop', 'remove', 'reverse', 'sort']

Повний перелік вбудованих функції над стрічками(рядками) str  
в мові програмування Python

dir(‘77’)= ['__add__', '__class__', '__contains__', '__delattr__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__getitem__', '__getnewargs__', '__getslice__', '__gt__', '__hash__', '__init__', '__le__', '__len__', '__lt__', '__mod__', '__mul__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__rmod__', '__rmul__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '_formatter_field_name_split', '_formatter_parser', 'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find', 'format', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill']



Відео лекції по програмування на основі мові Python




#ПрактикалекціяДомашня робота
1Практика: Черепахавідео
2Практика: Роботвідео
3Контест: виділення цифр, if, for, whileвідео
4Практика: графічні примітививідео
5Практика: фізичне моделюваннявідео
6Контест: використання масивіввідео
7Контрольна робота №1відео
8Рекурсія: фракталивідео
9Контест: сортуваннявідео
10Асимптотична складність алгоритміввідео
11Практика: Динамічне програмуваннявідео
12Контест: динамічне прораммірованіевідео
13Практика: Z-функція і КМПвідео
14Практика: Арифметичні вирази і калькуляторивідео
15КВИТКИ До осені заліку
16Контест: згадуємо - повтораям
17Словники і безлічі в Python і асимптотика стандартних операційвідео
18Практика: AI Contestвідео
19Практика: Pygame і кулькивідео
20Практика: Pygame, кульки і ООПвідео
21Проміжна здача проектіввідео
22Словники і безлічі в Pythonвідео
23Контрольна робота №1відео
24Практика: web програмуваннявідео
25Контест: Графи, пошук в глибинувідео
26Контест: Пошук в ширинувідео
27Практика: пошук шляхів мінімальної вагивідео
28Практика: двійкові дерева пошукувідео
29Семестрова контрольна роботавідео
30Питань до залікувідео