Python програмирањеjelenagr/3d/PythonZaCppProgramere.pdf · ПРОГРАМИРАЊЕ...
Transcript of Python програмирањеjelenagr/3d/PythonZaCppProgramere.pdf · ПРОГРАМИРАЊЕ...
![Page 1: Python програмирањеjelenagr/3d/PythonZaCppProgramere.pdf · ПРОГРАМИРАЊЕ • IDLE је интегрисано развојно окружење • (Integrated](https://reader033.fdocuments.us/reader033/viewer/2022052810/60817587e24b4053df456a1a/html5/thumbnails/1.jpg)
Python програмирање
![Page 2: Python програмирањеjelenagr/3d/PythonZaCppProgramere.pdf · ПРОГРАМИРАЊЕ • IDLE је интегрисано развојно окружење • (Integrated](https://reader033.fdocuments.us/reader033/viewer/2022052810/60817587e24b4053df456a1a/html5/thumbnails/2.jpg)
ПРОГРАМИРАЊЕ
Увод у програмирање у текстуалним програмским језицима
програмирање
Објектно орјентисано програмирање је опционо
•
тежина популарност
![Page 3: Python програмирањеjelenagr/3d/PythonZaCppProgramere.pdf · ПРОГРАМИРАЊЕ • IDLE је интегрисано развојно окружење • (Integrated](https://reader033.fdocuments.us/reader033/viewer/2022052810/60817587e24b4053df456a1a/html5/thumbnails/3.jpg)
ПРОГРАМИРАЊЕ Windows:
• Download Python са адресе https://www.python.org/downloads/
• Инсталација Python.
• Покретање Idle развојног окружења.
•
![Page 4: Python програмирањеjelenagr/3d/PythonZaCppProgramere.pdf · ПРОГРАМИРАЊЕ • IDLE је интегрисано развојно окружење • (Integrated](https://reader033.fdocuments.us/reader033/viewer/2022052810/60817587e24b4053df456a1a/html5/thumbnails/4.jpg)
ПРОГРАМИРАЊЕ • IDLE је интегрисано развојно окружење
• (Integrated Development Environment – IDE) које долази са Python инсталацијом
• Програм омогућава да едитујете и извршавате Python програме. Разликујемоинтерактивни и скриптни режим рада.
•
![Page 5: Python програмирањеjelenagr/3d/PythonZaCppProgramere.pdf · ПРОГРАМИРАЊЕ • IDLE је интегрисано развојно окружење • (Integrated](https://reader033.fdocuments.us/reader033/viewer/2022052810/60817587e24b4053df456a1a/html5/thumbnails/5.jpg)
#od tri cela broja pronalazi najmanji brojx=int(input('Unesi broj x: '))y=int(input('Unesi broj y: '))z=int(input('Unesi broj z: '))if x<y: najmanji=xelse: najmanji=yif z<najmanji: print('Najmanji broj je ', z)else: print('Najmanji broj je ', najmanji)
![Page 6: Python програмирањеjelenagr/3d/PythonZaCppProgramere.pdf · ПРОГРАМИРАЊЕ • IDLE је интегрисано развојно окружење • (Integrated](https://reader033.fdocuments.us/reader033/viewer/2022052810/60817587e24b4053df456a1a/html5/thumbnails/6.jpg)
![Page 7: Python програмирањеjelenagr/3d/PythonZaCppProgramere.pdf · ПРОГРАМИРАЊЕ • IDLE је интегрисано развојно окружење • (Integrated](https://reader033.fdocuments.us/reader033/viewer/2022052810/60817587e24b4053df456a1a/html5/thumbnails/7.jpg)
o1=int(input("Ocena1 je "))o2=int(input("Ocena2 je"))o3=int(input("Ocena3 je "))o4=int(input("Ocena4 je "))resenje=o1+o2+o3+o4print(resenje)
![Page 8: Python програмирањеjelenagr/3d/PythonZaCppProgramere.pdf · ПРОГРАМИРАЊЕ • IDLE је интегрисано развојно окружење • (Integrated](https://reader033.fdocuments.us/reader033/viewer/2022052810/60817587e24b4053df456a1a/html5/thumbnails/8.jpg)
ПРОГРАМИРАЊЕ • Упознавање са Python-ном кроз интерактивни режим рада и основне типове
података, aритметичке операције, приоритет операција.
• Цели бројеви нису ограничени бројем цифара, број може бити дуг колико рачунарима меморије. 25200
>>> 25**200
3872591914849318272818030633286351847570219192048790865487762941344416348097685964862682234277014596908057542507554467539370836398992350315522318050653350492002436065270530802738432038373174754090809367646454942400181270162578968846816261130394654088604511343874037265777587890625
•
![Page 9: Python програмирањеjelenagr/3d/PythonZaCppProgramere.pdf · ПРОГРАМИРАЊЕ • IDLE је интегрисано развојно окружење • (Integrated](https://reader033.fdocuments.us/reader033/viewer/2022052810/60817587e24b4053df456a1a/html5/thumbnails/9.jpg)
Прекорачење опсега - integer overflow
![Page 10: Python програмирањеjelenagr/3d/PythonZaCppProgramere.pdf · ПРОГРАМИРАЊЕ • IDLE је интегрисано развојно окружење • (Integrated](https://reader033.fdocuments.us/reader033/viewer/2022052810/60817587e24b4053df456a1a/html5/thumbnails/10.jpg)
![Page 11: Python програмирањеjelenagr/3d/PythonZaCppProgramere.pdf · ПРОГРАМИРАЊЕ • IDLE је интегрисано развојно окружење • (Integrated](https://reader033.fdocuments.us/reader033/viewer/2022052810/60817587e24b4053df456a1a/html5/thumbnails/11.jpg)
Python - integer overflow (ДА или НЕ)
x=2147483646x=x+1print (x)x=x+1print (x)x=x+1print (x)x=x+1print (x)
![Page 12: Python програмирањеjelenagr/3d/PythonZaCppProgramere.pdf · ПРОГРАМИРАЊЕ • IDLE је интегрисано развојно окружење • (Integrated](https://reader033.fdocuments.us/reader033/viewer/2022052810/60817587e24b4053df456a1a/html5/thumbnails/12.jpg)
Unesi dvocifreni broj:96 Suma cifara broja 96 je 15
ПРОГРАМИРАЊЕ
• Током програмирања можете приметити да се делови кода приказују на екрану различитимбојама. Ово се ради ради боље прегледности програма.
primer1.py
1
2
3
4
5
6
#suma cifara dvocifrenog broja
x=int(input(‘Unesi dvocifreni broj:’))
d=x//10
j=x%10
sc=d+j
print(‘Suma cifara broja’,x,’je’,sc)
Прелазак на скриптни режим рада.
•
![Page 13: Python програмирањеjelenagr/3d/PythonZaCppProgramere.pdf · ПРОГРАМИРАЊЕ • IDLE је интегрисано развојно окружење • (Integrated](https://reader033.fdocuments.us/reader033/viewer/2022052810/60817587e24b4053df456a1a/html5/thumbnails/13.jpg)
Unesite vrednost za x=-5.25 Vrednost y=11.50
ПРОГРAMИРАЊЕ
primer2.py
1
2
3
4
5
6
7
8
9
#program računa y za zadato x
x=float(input(‘Unesite vrednost x=’))
if x < 0 :
y=-2*x+1
elif x < 1:
y=x
else:
y=x*x
print(‘Vrednost y=%3.2f’ % y)
Разграната структура: Израчунати функцију y за унето x
•
![Page 14: Python програмирањеjelenagr/3d/PythonZaCppProgramere.pdf · ПРОГРАМИРАЊЕ • IDLE је интегрисано развојно окружење • (Integrated](https://reader033.fdocuments.us/reader033/viewer/2022052810/60817587e24b4053df456a1a/html5/thumbnails/14.jpg)
Unesite cifru od 0-9 k=4 Ima 11 dvocifrenih čija je razlika cifara 4
ПРОГРАМИРАЊЕ
primer3.py
1
2
3
4
5
6
7
8
9
10
#program računa koliko ima dvocifrenih čija je razlika #cifara k
k=int(input(‘Unesite cifru od 0-9 k=’))
br=0
for i in range(10,99):
d=i//10
j=i%10
if abs(d-j)==k:
br+=1
print(‘Ima {0} dvocifrenih čija je razlika cifara {1}’,format(br,k))
Циклична структура: Унесите прозвољну цифру k . Израчунати колико има
двоцифрених бројева чија је разлика цифара једнака k?
•
![Page 15: Python програмирањеjelenagr/3d/PythonZaCppProgramere.pdf · ПРОГРАМИРАЊЕ • IDLE је интегрисано развојно окружење • (Integrated](https://reader033.fdocuments.us/reader033/viewer/2022052810/60817587e24b4053df456a1a/html5/thumbnails/15.jpg)
ТАКМИЧАРСКО ПРОГРАМИРАЊЕ, курсеви
![Page 16: Python програмирањеjelenagr/3d/PythonZaCppProgramere.pdf · ПРОГРАМИРАЊЕ • IDLE је интегрисано развојно окружење • (Integrated](https://reader033.fdocuments.us/reader033/viewer/2022052810/60817587e24b4053df456a1a/html5/thumbnails/16.jpg)
Због чега морате волети Python?
![Page 17: Python програмирањеjelenagr/3d/PythonZaCppProgramere.pdf · ПРОГРАМИРАЊЕ • IDLE је интегрисано развојно окружење • (Integrated](https://reader033.fdocuments.us/reader033/viewer/2022052810/60817587e24b4053df456a1a/html5/thumbnails/17.jpg)
ПРОГРАМИРАЊЕ II РАЗРЕД Провера знања:
•
![Page 18: Python програмирањеjelenagr/3d/PythonZaCppProgramere.pdf · ПРОГРАМИРАЊЕ • IDLE је интегрисано развојно окружење • (Integrated](https://reader033.fdocuments.us/reader033/viewer/2022052810/60817587e24b4053df456a1a/html5/thumbnails/18.jpg)
ПРОГРАМИРАЊЕ III РАЗРЕД Python пружа различите могућности за развој графичког корисничког интерфејса (GUI).
Постоји више алата за рад у графичком окружњу:
GUI:tkinter
•
![Page 19: Python програмирањеjelenagr/3d/PythonZaCppProgramere.pdf · ПРОГРАМИРАЊЕ • IDLE је интегрисано развојно окружење • (Integrated](https://reader033.fdocuments.us/reader033/viewer/2022052810/60817587e24b4053df456a1a/html5/thumbnails/19.jpg)
Рад са датотекама
Рад са графиком
Canvas
Сложени типови података:торке,
Скупови, речници
Креирање аплкација у интегрисаном развојном окружењу
Увод tkinter
Рад са widget-има Label, Button, Entry
Рад са једнодимензионим
низовима, листе, ниске
Потпрограми
Писање функција, локалне и глобалне
променљиве
ПРОГРАМИРАЊЕ III РАЗРЕД
•
![Page 20: Python програмирањеjelenagr/3d/PythonZaCppProgramere.pdf · ПРОГРАМИРАЊЕ • IDLE је интегрисано развојно окружење • (Integrated](https://reader033.fdocuments.us/reader033/viewer/2022052810/60817587e24b4053df456a1a/html5/thumbnails/20.jpg)
ПРОГРАМИРАЊЕ III РАЗРЕД
Постављање боје на позадину прозора врши се на следећи начин:
p.config(bg='blue')
Методом config() можемо да мењамо парамeтре widgeta.
•
Бојење позадине прозора1.
prvi_primer.py
import tkinter
p=tkinter.Tk()
p.geometry(‘300x200’)
p.title(’Naslov’)
p.wm_iconbitmap(’zastava.ico’)
p.config(bg='blue’)
p.mainloop()
p=прозор
p.wm_iconbitmap()
p.title()
![Page 21: Python програмирањеjelenagr/3d/PythonZaCppProgramere.pdf · ПРОГРАМИРАЊЕ • IDLE је интегрисано развојно окружење • (Integrated](https://reader033.fdocuments.us/reader033/viewer/2022052810/60817587e24b4053df456a1a/html5/thumbnails/21.jpg)
ПРОГРАМИРАЊЕ
•
Компонента Label-пример2.
drugi_primer.py
tkinter прихвата само слике које имају екстензију png или gif
import tkinterp=tkinter.Tk()p.geometry('400x300')p.title('Primer2')p.config(bg='sky blue')s=tkinter.PhotoImage(file='slika.gif')l=tkinter.Label(p, image=s)proba=tkinter.Label(text='happy birthday', fg='navy', bg='sky blue', font=('Arial','20'))l.pack(padx=10,pady=10)proba.pack(padx=10,pady=10)p.mainloop()
![Page 22: Python програмирањеjelenagr/3d/PythonZaCppProgramere.pdf · ПРОГРАМИРАЊЕ • IDLE је интегрисано развојно окружење • (Integrated](https://reader033.fdocuments.us/reader033/viewer/2022052810/60817587e24b4053df456a1a/html5/thumbnails/22.jpg)
ПРОГРАМИРАЊЕ
•
Компонента Entry-пример3.
treci_primer.py