Файл: Python бадарламалау тіліне кіріспе Python дегеніміз не.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 29.03.2024
Просмотров: 25
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Python бағдарламалау тіліне кіріспе
Python дегеніміз не?
Python жоғары деңгейлі, жалпы мақсаттағы және өте танымал программалау тілі. Бұл тіл соңғы заманауи технологияларда, веб-әзірлемелерде және машиналық оқытуда қолданылады. Python программалау тілі, жаңадан бастаушыларғада, тәжірибелі программалаушыларға да өте қол келеді.
Бұл арнайы әзірленген Python оқулығы сізге Pythonның бастапқы қадамдарын үйренуге көмектеседі. Python - жоғары дәрежелі кодтың оқылуын және әзірлеушінің өнімділігін арттыруға мақсатталған жалпы мақсаттағы бағдарламалау тілі. Python тілі аз синтаксисті талап етеді. Бірақ сол уақытта стандартты кітапханасы үлкен көлемді пайдалы функцияларды қамтиды.
Python тілінің тарихы
Алғашында Python тілі Ameoba операциялық жүйесімен әрекет етуге қабілетті ABC бағдарламаллау тілінің ұрпағы ретінде алынған. Кеиінірек Python дамып,ең басты және маңызды бағдарламаллау тіліне айналды.Ең алғаш жаңарту Python 2.0 жаңа нұсқасы жарық көрді. Біл жаңа нұсқада көптеген функциялар мен жаңа алгоритмдер түрін көрсетті. Жаңартудан кейін Python тілінің қолданушылары арта түседі. Алайда бұл тілдің жаңарту бұнымен біткен жоқ. 2008 жылдың 3 желтоқсанында Python 3.0 жарық көреді.
Python бізге не үшін керек?
Python программалау тілінің бізге керек болған әйгілі алты бағытымен танысып шығайық.
Веб беттерді әзірлеуде.
Біз Pythonды веб-қосымшаларды жасау үшін қолдана аламыз. Ол beautifulSoup, Feedparser кітап-ханалары арқылы электрондық поштаны өңдеу, сұраныс жіберу сияқты интернет хаттамаларын өңдеуге мүмкіндік береді. Сонымен қатар Django, Pyramid, Flask және т.б. сияқты веб-қосымшаларды жобалауға және өңдеуге арналған Framework-ті қамтамасыз етеді.
Жасанды Интеллект саласында.
Pythonда ғылыми есептеулер үшін Numpy, Scipy кітапханалары қолданылады. Ал машиналық оқытуға арналған Pybrain сияқты алдын ала салынған кітапхана-лары бар. Бұл пакеттер Жасанды Интеллект саласын жетілдіруде және жаңа интеллекттер жасауға көмектеседі.
Жұмыс үстел қосымшаларын жасауда.
Пайдаланушының гра-фикалық интерфейстерін Python көмегімен жасауға болады. Интерфейсті дамыту үшін Tk GUI кітапханасын ұсынады. Бірнеше платформада қолдануға болатын wxWidgets, Kivy, pyqt сияқты пайдалы құралдар жиынтығы бар. Kivy андроид қосымшаларын жазумен танымал.
Ғылыми және сандық есептерде.
Python ғылыми және сандық есепте кеңінен қол-данылады. Кейбір пайдалы кітапханалар мен пакеттер SciPy, Pandas, IPython болып табылады. SciPy - инженерлік және математикалық пакеттер тобы.
Кәсіпорын қосымшаларын жасауда.
Python кәсіпорында немесе ұйымда қолдануға болатын қосымшалар жасау үшін пайдаланылуы мүмкін. Қазіргі уақыттағы қосымшалар: OpenErp, Tryton, Picalo.
Стандартты кітапхананы қолдануда.
Pythonда үлкен және кең кітапхана бар және қосымшаларды жылдам әзір-леуге арналған модуль мен функциялардың бай жиынтығын ұсынады.
Арифметикалық өрнектер
x+y | Қосу |
x-y | Айырма |
x*y | Көбейту |
x/y | Бөлу(нәтиже үнемі float типті болады) 11/5=2.2 10/5=2.0 |
x//y | Бөлгендегі бүтін бөлігі (Екі санда бүтін болса, аргумент бүтін болады) 11//4=2 11.8//4=2.0 |
x%y | Бөлгендегі қалдық 11 % 4=3 |
x**y | X санының Y дәрежесі 2**3=8 |
abs(x) | Модулі |
round(x) | Дөңгелектеу 11.3 = 11 |
round(x,n) | Үтірден кейінгі N санға дейін дөңгелектеу ROUND(12.456123,3)=12.456 |
pow(x,y) | X**Y Жазбасының аналогы |
Ескеру: +, -, *, ** амалдарының нәтижесі int типті болады, егер екі аргументте бүтін болса.
Тізбектегі сандармен қолданылатын функциялар
max(a, b, …) | Үлкенін табу max([2,6,3,1]) =6 |
min(a, b, …) | Кішісін табу max([2,6,3,1]) =1 |
max(seq) | Үлкенін табу max([2,6,3,1]) =6 |
min(seq) | Кішісін табу max([2,6,3,1]) =1 |
sum(seq) | Қосындысын табу max([2,6,3,1]) =6 |
sorted(seq) | Сұрыптау ([2,6,3,1]) = [1, 2, 3, 6] |
Math модулінің функциялары мен тұрақтылары
trunc(x) | Бүтінге қарай дөңгелектеу |
sqrt(x) | Квадраттық түбірі |
exp(x) | Экспоненті |
log(x), log2(x), log10(x) | Натуралды, екілік, ондық логаримдары |
sin(x), cos(x), tan(x) | Синусы, косинусы, тангенсі, х-радиан |
asin(x), acos(x), atan(x) | Арксинусы, арккосинусы, арктангенсі |
degrees(x) | Радианды градусқа ауыстыру |
radians(x) | Градусты радианға ауыстыру |
sinh(x), cosh(x), tanh(x) | Гиперболдық синусы, косинусы, тангенсі |
asinh(x), acosh(x), atanh(x) | Кері гиперболдық синусы, косинусы, тангенсі |
hypot(x,y) | Катеттері x,y болатын үшбұрыштың гипотенузасы |
factorial(x) | Факториалы |
gamma(x) | Гамма – функция |
pi | Пи мәнін қайтарады |
e | е санын қайтарады |
Жолдық операциялар
S1 + S2 | Жолдарды біріктіру |
S1 * n | Жолды қайталау |
len(S) | Функция. Жолдың ұзындығының |
S[n] | Индекс бойынша сілтеме |
S2 in S1 | Логикалық операция. S2 жолы S1 жолда бар екендігін анықтау |
min(S) | Функция. S жолының ең кіші кодты символы |
max(S) | Функция. S жолының ең үлкен кодты символы |
Функция мен әдістердің қызметі
Функция немесе әдіс | Қызметі |
S.find(str, [start],[end]) | Жол ішіндегі жолды іздеу. Біріншісін көрсетеді немесе -1 |
S.index(str, [start],[end]) | Жол ішіндегі жолды іздеу. Біріншісін көрсетеді немесе ValueError |
S.replace(шаблон, замена) | Шаблонды өзгерту |
S.split(символ) | Жолды бөлгіштер арқылы бөліп жазу |
S.isdigit() | Жолда цифрды анықтау |
S.isalpha() | Жолда әріпті анықтау |
S.isalnum() | Жолда цифрды немесе әріпті анықтау |
S.islower() | Жолда төменгі регистрлі символдарды анықтау |
S.isupper() | Жолда жоғарғы регистрлі символдарды анықтау |
S.isspace() | Жолда көрінбейтін символдарды анықтау (пробел, символ перевода страницы ('\f'), «новая строка» ('\n'), «перевод каретки» ('\r'), «горизонтальная табуляция» ('\t') и «вертикальная табуляция» ('\v')) |
S.istitle() | Сөз бас әріппен басталатындығын анықтау |
S.upper() | Жолды жоғарғы регистрге ауыстыру |
S.lower() | Жолды төменгі регистрге ауыстыру |
ord(символ) | Символдың ASCII коды |
chr(число) | ASCII кодының символы |
S.lstrip([chars]) | Жолдың басындағы бос орынды жою(пробел) |
S.rstrip([chars]) | Жолдың соңындағы бос орынды жою(пробел) |
S.strip([chars]) | Жолдың басындағы және соңындағы бос орынды жою(пробел) |
Қарапайым есептер шығару жолдары
Қосу (+)
Математикада екі санды қосу үшін біз былай жазамыз, мысалы 15 + 4 Pythonда да дәл солай. Міне, екі санды қосатын программа:
1. print( 15 + 4 )
----------------------
19
2. print( 20 + 45)
----------------------
65
Ал енді қосуды айнымалымен жасап көрейік.
1. san1 = 25
san2 = 30
print( san1 + san2 )
----------------------
55
2. a = 15
b = 100
print( a + b)
----------------------
115
Жалпы айтқанда, егер сандардың кем дегенде біреуі бөлшек сан болса, онда барлық нәтиже де бөлшек сан түрінде болады.
-
a = 2.5
b = 4
c = 3
esep = a + b + c
print( san1 + san2 )
print(type(esep))
----------------------
9.5
Бөлшек сандардың түрі pythonда float деп аталады. Мысалы: 1.5, 0.73, 40.5 сол сияқты.
Азайту (-)
-
a = 7.5
b = 3
c = a - b
print(c)
print(type(c))
----------------------
4.5
Көбейту (*)
Алдыңғы екі амал сияқты, Pythonда көбейтудің жасырын ерекшеліктері жоқ. Жұлдызша (*) операторының көмегімен екі немесе одан да көп сандарды көбейтуге болады.
-
print( 4 * 5 )
print( 3 * 5.0 )
print( 250 * 0 )
print( -25 * 3 )
----------------------
20
15.0
0
-75
2. a = 15
b = 10
print( a * b)
----------------------
150
3. a = 50
b = 3
c= a * b
print(c)
150
----------------------
Бөлу (/)
Pythonда бөлудің басты айырмашылығы, сандардың түр-леріне қарамастан float нәтиже шығарады.
-
print( 16 / 2 )
print( 35 / 7 )
print( -42 / 7 )
----------------------
8.0
5.0
-6.0
2. a = 300
b = 2
print( a / b)
----------------------
150
3. a = 500
b = 2
c= a / b
print(c)
----------------------
250
Әрқандай сандарға бөлу мүмкін, тек нөлге бөле алмайсыз. Нөлге бөлу келесідей қателіктер береді.
print( 23 / 0 )
----------------------
ZeroDivisionError: division by zero
Бүтін бөлу (//)
-
print( 17 // 2 )
----------------------
8
Бұл жерде не істеп тұрғанын түсінген шығарсыз. Негізінде 17/2=8.5 болатын. Сол 8.5 тің жарты бөлігін алып тастап тұр.
Дәреже (**)
Екі жұлдызша қою арқылы біз экспонентаны есептей аламыз.
-
a = 5
b = 4
print(a**b)
----------------------
625
2. a = 5
b = 2
c= a ** b
print(c)
----------------------
25
Теріс санмен есептеп көрейік.
-
print( 2 ** -3 )
----------------------
0.125
Ал егер сандарымыз бірнеше болса, онда оңнан соңға қарай көбейтіріледі.
-
print( 3 * 2 * 2 )
----------------------
81
Алдымен 2-нің 2-ші дәрежесін анықтайды, ол 4-ке тең. Сосын 3-тің 4-ші дәрежесін табады.
Қалдық бөлу (%)
Бөлімнің қалған бөлігін модульдік бөлу деп те атайды. % Операторы алдымен бөледі, содан кейін қалдықты қайтарады.
-
print( 15 % 3 )
print( 25 % 2 )
print( 31 % 9 )
----------------------
0
1
4
2. a = 20
b = 3
c= a % b
print(c)
----------------------
2
Файлдық функциялармен жұмыс
Файлдармен жұмыс жасау python программалау тіліндегі кірісті-рілген open() функциясы арқылы орындалады. Оған файл атауы мен оны өңдеу режимі беріледі. Сосын, файлда кез келген әрекеттерді орындағаннан кейін ақпарат жоғалып кетпеу үшін оны close() функциясын пайдаланып файлды жабу керек.
Файлды read() әдісін қолдана отырып, сіз бүкіл файлды немесе тек белгілі бір байт санын оқи аласыз. Файлдың тек бір қатарын оқу үшін readline() әдісін қолданамыз. readlines() әдісі - файлдағы барлық мәтінді оқып, оларды тізім түрінде қайтарады. Файлға жазу үшін write() және writelines() әдістері бар. write() мәтіндік жолдарды файлға жазады. writelines() - деректер құрылымын (тізім, жиын т.б.) string түрінде файлға жазады.
Ашу режимдері
'r' Оқу үшін ашу
'w' Жазу үшін ашу, бар болса ішіндегі жойылады
'x' Жазу үшін ашу, бірақ ол бұрыннан жоқ болса ғана
'a' Соңына ақпарат қосу үшін ашу
'b' Екілік режимде ашу
'+' Бір уақытта жазу және ашу
-
Блокнотқа 1-qatar 2-qatar 3-qatar мәтінді жазып, new.txt атпен сақтау.
b = open('new.txt')
print(b.readline())
print(b.readline())
print(b.readline())
print(b.readline())
b.close()
----------------------
1-qatar
2-qatar
3-qatar
2. Блокнотқа hello мәтінді жазып, file.txt атпен сақтау.
a = open('file.txt','w')
a.write('hello')
a.close()
----------------------
Hello
3.Блокнотқа BMW, Audi, Kia, Toyota мәтінді жазып, file.txt атпен сақтау.
b = open('file.txt','w')
s = ['BMW',' Audi',' Kia',' Toyota']
b.writelines(s)
b.close()
----------------------
BMW, Audi, Kia, Toyota
-
Input.txt мәтіндік файлдың бірінші жолында “a”...“z” аралығындағы кіші латын әріптерінен тұратын жол берілген. Файлдағы осы жолды 2- орыннан бастап 15 әріпті ‘*’ символымен ауыстыр.
fin=open (“Input.txt”, “w”)
f.write (‘abcdefghijklmnopqrstuvwx yz’)
f.seek (2)
f.write (‘***************’) f.close ()
----------------------
ab***************rstuvwx yz
-
Input.txt мәтіндік файлында үш, төрт және бес таңбалы сандар бос орынмен ажыратып жазылған. Осы сандардың қосындысын тап. Қосындыны Оutput.txt файлына жаз.
fin=open (“Input.txt”, “r”) fout=open (“Output.txt”, “w”) a=int(fin.read(3))
fin.seek (4)
b=int (fin.read (4))
fin.seek (9) c=int(fin.read(5)) fout.write (str(a+b+c)) fin.close ()
fout.close ()
----------------------
74421
Сызықтық алгоритмді программалау
-
«Алманы бөлу».
n мектеп оқушылары k алманы бірдей бөледі, бөлінбейтін алдық себетте қалады. Әр оқушы қанша алма алады? Себетте неше алма қалды? Бағдарлама кіріс ретінде n және k сандарын алады және қажетті алма санын (екі сан) шығаруы керек.
n = int(input())
k = int(input())
print(k // n)
print(k % n)
----------------------
8
5
0
5
-
«Цифрлық сағат».
N саны берілген. Күн басталғаннан бері N минут өтті. Осы уақытта цифрлық сағат қанша сағат пен минутты көрсететінін анықтаңыз. Бағдарлама екі санды басып шығаруы керек: сағат саны (0-ден 23-ке дейін) және минут саны (0-ден 59-ға дейін). N саны тәуліктегі минуттар санынан көп болуы мүмкін екенін ескеріңіз.
n = int(input())
t = n // 60 % 24
m = n % 60
print(t, m)
----------------------
50
0 50
-
«Сәлем, Қазақстан!».
Сәлем сөзін, енгізілген есімді және тыныс белгілерін басып шығару арқылы келесі үлгі бойынша пайдаланушыға сәлем беретін бағдарлама жазыңыз:
name = input ()
print ('Hello, '+ name+'!')
----------------------
Kazakhstan
Hello, Kazakhstan!
-
«Парталар».
Мектеп үш жаңа математика сыныбын қабылдау туралы шешім қабылдады. Олардың математика сабақтары бір уақытта өткізілетін болғандықтан, әр сыныпқа кеңсе бөліп, олардан жаңа парта сатып алу туралы шешім қабылданды. Әр партада екіден артық оқушы отыра алмайды. Үш сыныптың әрқайсысында оқушылардың саны белгілі. Барлық оқушыларға жеткілікті болу үшін сізге қанша парта сатып алу керек? Бағдарлама кіріс ретінде үш натурал сандарды алады: үш кластың әрқайсысында оқушылардың саны.
a = int(input())
b = int(input())
c = int(input())
print(a // 2 + b // 2 + c // 2 + a % 2 + b % 2 + c % 2)
----------------------
10
20
30
30
-
Бөлінетін жолды және үш жолды оқитын бағдарламаны жасау, содан кейін бөліну арқылы көрсетілген жолдарды шығарыңыз.
a=input()
b=input()
c=input()
d=input()
print (b, c, d, sep=a)
----------------------
1
2
3
1***2***3
-
Үш бүтін санды оқып, олардың қосындысын көрсететін программа жазу. Әр сан бөлек жолға жазылуы керек.
a = int(input())
a += int(input())
a += int(input())
print(a)
----------------------
1
2
3
6
-
Бүтін санды оқитын программа жазау, содан кейін түсіндірме мәтіні бар келесі және алдыңғы бүтін сан көрсететін программа құру.
a = int(input())
print('Кейінгі сан', a, 'сан:', a+1)
print('Сан үшін', a, 'алдыңғы сан:', a-1)
----------------------
10
Кейінгі сан 10 сан: 11
Сан үшін 10 алдыңғы сан: 9
Тармақталу алгоритмдерін программалау
-
Берілген a, b және c сандарының үлкенін табуға арналған программа.
a=int (input () )
b=int (input () )
c=int (input () ) max=a
if max < b: max=b
if max < c: max=c
print (max)
----------------------
Берілген мәннің үлкен, кішісін шығарады.
-
«Екі санның минимумы»
Екі бүтін сан берілген. Олардың ең кішісінің мәнін шығар.
a = int(input())
b = int(input())
if a < b:
print(a)
else:
print(b)
----------------------
Берілген екі санның минимумын шығарады.
-
Егер адамның жасы 50 ден жоғары болса, экранға «Сізге тегін» сөзі шығу керек.
jas = 60
if jas > 50:
print('Сізге тегін!')
----------------------
Сізге тегін!
jas = 30
if jas > 50:
print('Сізге тегін!')
----------------------
-
Егер адамның жасы 50 ден жоғары болса, экранға «Сізге тегін» сөзі, 50 –ден төмен болса «Сізге ақылы» шығу керек.
jas = 30
if jas > 50:
print('Сізге тегін!')
else:
print ('Сізге ақылы!')
----------------------
Сізге ақылы!
-
Егер жасың 10 - нан кіші болса 100 теңге, ал жасыңыз 10 мен 50 – дің арасында болса 200 теңге, 50-ден 100-ге дейін болса сіз музейге тегін кіресіз.
jas = int(input('Жасыңыз нешеде? '))
if jas <= 10:
print('100 теңге')
elif jas <= 50:
print('200 теңге')
elif jas <= 100:
print('Сізге тегін!')
else:
print('Қателік бар!')
----------------------
Жасыңыз нешеде? 8
100 теңге
Жасыңыз нешеде? 36
200 теңге
Жасыңыз нешеде? 65
Сізге тегін!
Жасыңыз нешеде? 200
Қателік бар!
-
Пайдаланушыға интернет-ресурсқа кіруге рұқсат етілгенін немесе рұқсан етілмейтіндігін анықтайтын бағдарламаны жазау.
Енгізу пішімі Бағдарламаға бүтін сан кіреді-пайдаланушының жасы.
Шығу пішімі Бағдарлама мәтінді көрсетуі керек" кіруге рұқсат етілген
"егер жасы 18-ден кем болмаса және басқаша болса" кіруге тыйым
салынады".
a = int (input ())
print ('Рұқсат етіледі') if a >= 18 else print ('Тыйым салынады')
----------------------
19
Рұқсат етіледі
7. Шахмат тақтасының екі түрлі торы берілген. Қайықтың бірінші тордан екіншісіне бір қадаммен жете алатындығын анықтайтын бағдарлама жазыңыз. Бағдарлама әрқайсысы 1-ден 8-ге дейін төрт санды алады, олар бірінші ұяшыққа, содан кейін екінші ұяшыққа баған нөмірі мен жол нөмірін береді. Егер бірінші ұяшықтан екінші ұяшыққа кіруге болатын болса немесе "жоқ" болса, бағдарлама "иә" - ны шығаруы керек.
a1 = int(input())
a2 = int(input())
a3 = int(input())
a4 = int(input())
print('YES') if (a1 == a3) or (a2 == a4) else print('NO')
----------------------
1
1
2
1
YES
8. Шахмат тақтасының екі түрлі торы берілген. Патшаның бірінші тордан екіншісіне бір қадам жасай алатындығын анықтайтын бағдарлама жазыңыз. Бағдарлама әрқайсысы 1-ден 8-ге дейін төрт санды алады, олар бірінші ұяшыққа, содан кейін екінші ұяшыққа баған нөмірі мен жол нөмірін береді. Егер бірінші ұяшықтан екінші ұяшыққа кіруге болатын болса, немесе "жоқ" болса, бағдарлама "иә" шығаруы керек.
a, b, c, d = (int(input()) for i in 'abcd')
if abs(a - c) <= 1 and abs(b - d) <= 1:
print('YES')
else:
print('NO')
----------------------
1
1
2
2
YES
-
Үшбұрыштың түрі. Үш оң санды алатын және жақтары енгізілген сандарға тең үшбұрыштың түрін анықтайтын бағдарламаны жазыңыз.
a1 = int(input())
a2 = int(input())
a3 = int(input())
if a1 == a2 == a3:
print('Тең қабырғалы')
elif a2 == a3 or a1 == a3 or a1 == a2:
print('Тең бүйірлі')
else:
print('Әр қабырғалы')
----------------------
1
3
2
Әр қабырғалы
-
Екі сан берілген. Сол екі санның қай саны кішісі екенін табатын программа құру.
a = int(input())
b = int(input())
if a>b:
print(b)
elif a
else:
print(a)
----------------------
5
6
5
Циклдік алгоритмдерді программалау
-
Санның цифрларының қосындысы мен көбейтіндісін есептеу
n =int(input())
mult =1
summa =0
while n >0:
if n%10!=0:
mult = mult * (n%10)
summa = summa + n%10
n = n // 10
print("Сумма:", summa)
print("Көбейтінді:", mult)
----------------------
Цифрлардың қосындысы мен көбейтіндісін есептейді.
-
Санның цифрларның жұп немесе тақ екенін және жұп цифр мен тақ цифрдың санын анықтаңдар. Сан клавиатурадан енгізіледі.
a =input()
a =int(a)
even =0 #жұп
odd =0 #тақ
whilea >0:
if a % 2==0:
even +=1
else:
odd +=1
a = a // 10
print("Even: %d, odd: %d" % (even, odd))
----------------------
65439
Even: 2, odd: 3
-
Тізбектің қосындысын табу керек:
1/2 - 2/4 + 3/8 - 4/16 + ... - ...
a и b - қатар санының бөлшегінің алымы және бөлімі.
a =1# алымы
b =2# бөлімі
sign =1# 1 немесе -1, таңбаны ауыстыру үшін көбейту керек
n =0# тізбек элементтері саны
summa =0# n-сумма тізбектер саны
whilea/b >0.001:
summa += sign * a / b
n +=1
a = a + 1
b = b * 2
sign = -sign
print(summa)
print(n)
----------------------
0.2227783203125
13