МБОУ СОШ №13
Муниципальное БюджетноеОбраазовательное Учереждение
СредняяОбщеобразовательная школа №13
Python.
Игра на Python.
Работу выполнила:
Крутова Дарья 9В
Руководитель:
Шевелева ЮлияАлександровна
Содержание:
Операторы в Python
Функции в Python
Строки в Python
Массивы в Python
Цель:
Узнать что такое Python и как он работает.
Задачи:
1. Выяснить предназначение языка программирования Python.
2. Выяснить из чего он состоит.
Актуальность: в наше время берет над нами верх сфера IT-технологий. Я думаю, чтомногим интересна эта тема, но они не знают с чего начать. Язык программированияPython можетпослужить началом для развития в этом направлении. Так как он упрощает прцессработы с прграммными продуктами.
Введение
Python— высокоуровневый язык программирования общего назначения,ориентированный на повышение производительности разработчика и читаемости кода.Синтаксис ядра Python минималистичен. В то же время стандартная библиотекавключает большой набор полезных функций.
Можно выделить 3 самых популярных направления применения Python:
1. веб-разработка;
2. data science: машинное обучение, анализ данных и визуализация;
3. автоматизация
Python используют компании-гиганты
Многие известные нам компании и организации используют Python:
Spotify и Amazon используют Python для анализа данных и созданиярекомендаций.
Walt=Что такое Python: чем он хорош, где пригодится и какего выучить Disney использует Python как скриптовый язык для анимации.
YouTube и Instagram целиком написаны на Python.
Если этого недостаточно, есть ещё NASA: их система автоматизациипроцессов WAS тоже создавалась средствами Python.
Python поддерживает несколько парадигм программирования:структурное, объектно-ориентированное, функциональное, императивное иаспектно-ориентированное. В языке присутствет динамическая типизация,автоматическое управление памятью, полная интроспекция, механизм обработкиисключений, поддержка многопоточных вычислений и удобные высокоуровневыеструктуры данных. Программный код на Python организовывается в функции иклассы, которые могут объединяться в модули, а они в свою очередь могут бытьобъединены в пакеты. Python обычно используется как интерпретируемый, но можетбыть скомпилирован в байт-код Java и в MSIL (в рамках платфоры .NET).
Разработчики языка Python придерживаются определённой философиипрограммирования,
называемой «The Zen of Python» («Дзен Питона» или «Дзен Пайтона»):
Красивое лучше, чем уродливое.
Явное лучше, чем неявное.
Простое лучше, чем сложное.
Сложное лучше, чем запутанное.
Плоское лучше, чем вложенное.
Разреженное лучше, чем плотное.
Читаемость имеет значение.
Основная часть
Операторв Python —это символ, который выполняет операцию над одним или несколькими операндами.
Операндомвыступает переменная или значение, над которыми проводится операция.
Введениев операторы Python
ОператорыPython бывают 7 типов:
Арифметическиеоператоры
Операторысравнения
Операторыприсваивания
Логическиеоператоры
Операторыпринадлежности
Операторытождественности
Битовыеоператоры
Арифметическиеоператоры Python
Этоттип включает операторы для проведения базовых арифметических операций.
Именныефункции, инструкция def
Функцияв python — объект, принимающий аргументы и возвращающий значение. Обычнофункция определяется с помощью инструкции def.
Инструкцияreturn говорит, что нужно вернуть значение.
Функцияможет быть любой сложности и возвращать любые объекты (списки, кортежи, и дажефункции!):
Функцияможет и не заканчиваться инструкцией return, при этом функция вернет значениеNone:
Строкив языке Python — это встроенные объекты, создаваемые с помощью специальных литералов,относятсящиеся к неизменяемому типу данных и представляющие собойпоследовательности символов, интерфейс доступа к которым основан на ихсмещении, а сами символы представляют собой порядковые номера кодовых точектаблицы базового символьного набора и по отдельности могут рассматриваться, какстроки единичной длины.
Массив — это структура данных, вкоторой хранятся значения одного типа. В Python это основное различие междумассивами и списками. Хотя списки Python могут содержать значения,соответствующие разным типам данных, массивы в Python могут содержать толькозначения, соответствующие одному и тому же типу данных.
Приработе с массивами удобно использовать цикл for для перебора всех элементовмассива.
Вывод:
Мыузнали: что представляет из себя язык программирования Python и из чего он состоит.
Списоклитературы:
https://ru.wikipedia.org/wiki/Python
https://pythonru.com/osnovy/operatory-python
https://pythonworld.ru/tipy-dannyx-v-python/vse-o-funkciyax-i-ix-argumentax.html
Приложение1
Программа(небольшая игра) написанная мной в Питоне:
from tkinterimport *
importrandom
random.seed()
x_p = 60
y_p = 300
x_r = 300
w_w = 800
h_w = 600
played = 1
score_info =0
root = Tk()
c =Canvas(width= w_w, height=h_w, bg=Light blue)
c.focus_set()
p1 =c.create_rectangle(0,0,60,300, fill=pink)
p2=c.create_rectangle(0,0,60,300, fill=pink)
p3 =c.create_rectangle(0,0,60,300, fill=pink)
p4 =c.create_rectangle(0,0,60,300, fill=pink)
p5 =c.create_rectangle(0,0,60,300, fill=pink)
p6 =c.create_rectangle(0,0,60,300, fill=pink)
p7 =c.create_oval(110,140,60,90, fill=black)
score_windows= c.create_text(50,50, fill=black, text=score_info)
x1_old =c.coords(p7)[0]
y1_old =c.coords(p7)[1]
x2_old =c.coords(p7)[2]
y2_old =c.coords(p7)[3]
over = 0
defgame_over():
globalplayed, over
over =c.create_text(400,350, fill=black, text=GAME OVER)
played =0
def p():
globalx1_old,y1_old,x2_old,y2_old, hw, p7
ifc.coords(p7)[1] < c.coords(p1)[3] and c.coords(p1)[0] < c.coords(p7)[2]and c.coords(p1)[2] > c.coords(p7)[0] and c.coords(p1)[1] <c.coords(p7)[3]:
game_over()
elifc.coords(p7)[1] < c.coords(p2)[3] and c.coords(p2)[0] < c.coords(p7)[2]and c.coords(p2)[2] > c.coords(p7)[0] and c.coords(p2)[1] <c.coords(p7)[3]:
game_over()
elifc.coords(p7)[1] < c.coords(p3)[3] and c.coords(p3)[0] < c.coords(p7)[2]and c.coords(p3)[2] > c.coords(p7)[0] and c.coords(p3)[1] <c.coords(p7)[3]:
game_over()
elifc.coords(p7)[1] < c.coords(p4)[3] and c.coords(p4)[0] < c.coords(p7)[2]and c.coords(p4)[2] > c.coords(p7)[0] and c.coords(p4)[1] <c.coords(p7)[3]:
game_over()
elifc.coords(p7)[1] < c.coords(p5)[3] and c.coords(p5)[0] < c.coords(p7)[2]and c.coords(p5)[2] > c.coords(p7)[0] and c.coords(p5)[1] <c.coords(p7)[3]:
game_over()
elifc.coords(p7)[1] < c.coords(p6)[3] and c.coords(p6)[0] < c.coords(p7)[2]and c.coords(p6)[2] > c.coords(p7)[0] and c.coords(p6)[1] <c.coords(p7)[3]:
game_over()
else:
x1_old = c.coords(p7)[0]
y1_old = c.coords(p7)[1]
x2_old = c.coords(p7)[2]
y2_old = c.coords(p7)[3]
ifc.coords(p7)[3] > h_w:
game_over()
ifc.coords(p7)[1] < 0:
game_over()
defrandom_p():
y =random.randint(-50, 0)
c.coords(p1, x_r, y, x_r+x_p, y+y_p)
y =random.randint(-50, 0)
c.coords(p2, c.coords(p1)[0] + x_r, y,c.coords(p1)[0] + x_r+x_p, y+y_p)
y =random.randint(-50, 0)
c.coords(p3, c.coords(p2)[0] + x_r, y,c.coords(p2)[0] +x_r+x_p, y+y_p)
y =random.randint(400, 450)
c.coords(p4, x_r, y, x_r+x_p, y+y_p)
y =random.randint(400, 450)
c.coords(p5, c.coords(p4)[0] + x_r, y,c.coords(p4)[0] + x_r+x_p, y+y_p)
y =random.randint(400, 450)
c.coords(p6, c.coords(p5)[0] + x_r, y,c.coords(p5)[0] +x_r+x_p, y+y_p)
defmove_p():
c.move(p1, -2, 0)
c.move(p2, -2, 0)
c.move(p3, -2, 0)
p1_left= c.coords(p1)[2]
ifp1_left < 0:
y =random.randint(-50, 0)
c.coords(p1, w_w, y, w_w+x_p, y+y_p)
p2_left= c.coords(p2)[2]
ifp2_left < 0:
y =random.randint(-50, 0)
c.coords(p2, w_w, y, w_w+x_p, y+y_p)
p3_left= c.coords(p3)[2]
ifp3_left < 0:
y = random.randint(-50,0)
c.coords(p3, w_w, y, w_w+x_p, y+y_p)
c.move(p4, -2, 0)
c.move(p5, -2, 0)
c.move(p6, -2, 0)
p4_left= c.coords(p4)[2]
ifp4_left < 0:
y =random.randint(400, 450)
c.coords(p4, w_w, y, w_w+x_p, y+y_p)
p5_left= c.coords(p5)[2]
ifp5_left < 0:
y =random.randint(400, 450)
c.coords(p5, w_w, y, w_w+x_p, y+y_p)
p6_left= c.coords(p6)[2]
ifp6_left < 0:
y =random.randint(400, 450)
c.coords(p6, w_w, y, w_w+x_p, y+y_p)
def g():
c.move(p7,0,3)
defjamp(event):
ifplayed == 1:
global p7
c.move(p7,0,-50)
c.bind(<Up>,jamp)
defreboot(event):
globalplayed
ifplayed == 0:
played = 2
def score():
globalscore_windows,score_info
ifc.coords(p1)[0] < 60 and c.coords(p1)[0] > 57:
score_info= score_info + 1
c.delete(score_windows)
score_windows= c.create_text(50,50, fill=black, text=score_info)
ifc.coords(p2)[0] < 60 and c.coords(p2)[0] > 57:
score_info= score_info + 1
c.delete(score_windows)
score_windows= c.create_text(50,50, fill=black, text=score_info)
ifc.coords(p3)[0] < 60 and c.coords(p3)[0] > 57:
score_info= score_info + 1
c.delete(score_windows)
score_windows= c.create_text(50,50, fill=black, text=score_info)
def main():
globalplayed,over,p7,score_info,score_windows
ifplayed == 1:
g()
move_p()
p()
score()
ifplayed == 2:
random_p()
played = 1
c.delete(over)
c.coords(p7,110,140,60,90)
score_info = 0
c.delete(score_windows)
score_windows = c.create_text(50,50,fill=black, text=score_info)
root.after(30,main)
c.bind(<space>,reboot)
random_p()
main()
c.pack()
root.mainloop()
