PyGame не отображает поверхность. Здравствуйте, я начал изучать PyGame и столкнулся с проблемой: холст не отображается в окне. Я ещё новичок в этой теме, возможна ошибка о . Вот код:
import pygame
width = 350
height = 500
FPS = 30
pygame.init()
screen = pygame.display.set_mode((height, width))
pygame.display.set_caption('Title')
clock = pygame.time.Clock()
class Circle(pygame.sprite.Sprite):
def __init__(self):
pygame.sprite.Sprite.__init__(self)
self.image = pygame.Surface((40, 40))
self.rect = self.image.get_rect()
self.rect.x = width - 40
self.rect.y = height - 40
self.speedx = -8
def update(self):
self.rect.x += self.speedx / FPS
if self.rect.centerx == self.image.get_width() - 20:
self.speedx = 0
self.rect.x = 0
circle = Circle()
running = True
while running:
clock.tick(FPS)
# Enter
# Update
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
circle.update()
# Painting
screen.fill((0, 0, 0))
pygame.draw.circle(circle.image, (0, 255, 0), (circle.rect.centerx, circle.rect.centery), 20)
screen.blit(circle.image, (circle.image.get_width(), circle.image.get_height()))
pygame.display.flip()
pygame.quit()
P.s. На экране справа налево должен двигаться зелёный круг, у левого края он должен останавливаться.
Описание алгоритма:
Будем наращивать длину последовательности от 0 знаков до N. Пусть после какого-то количества шагов у нас выписаны все последовательности длины А и мы хотим узнать количество подходящих последовательностей длины А+1. Распределим все последовательности на три группы(так как предыдущие символы нас не волнуют, то любые последовательности одной группы для нас равнозначны):
1) Заканчиваются на 0.
2) Ровно на одну единицу
3) Ровно на две единицы.
Из каждой последовательности группы 1 приписыванием нуля или единицы мы можем получить одну последовательность группы 1 и одну - группы 2. Неважно, какие именно, но они не перекрываются, т.к. предыдущие символы различны, хоть мы их и не учитываем. Точно так же из второй группы мы получаем одну последовательность группы 3 и одну группы 1, а из группы 3 - только группу 1. Таким образом, если количества последовательностей длины А по группам были (x, y, z), то для длины А+1 такое распределение будет (x+y+z, x, y). Если взять для длины 0 тройку (0, 0, 1) и просчитать тройки от 1 до N, получится искомое количество. Для a=1 и b=2 также работает правильно.
Программа на Pascal:
var num00,num01,num11,mem00:integer;
a,i:byte;
begin
readln(b);
num00:=1;
for i:=1 to n do begin
mem00:=num11;
num11:=num01;
num01:=num00;
num00:=num01+num11+mem00;
end;
writeln(num11+num01+num00);
end.
Объяснение:
извени если ошебусь
:)
История
Язык программирования Python был создан примерно в 1991 году голландцем Гвидо ван Россумом.
Свое имя - Пайтон (или Питон) - получил от названия телесериала, а не пресмыкающегося.
После того, как Россум разработал язык, он выложил его в Интернет, где уже целое сообщество программистов присоединилось к его улучшению.
Python активно совершенствуется и в настоящее время. Часто выходят его новые версии. Официальный сайт http://python.org.
Особенности
Python – это интерпретируемый язык программирования: исходный код частями преобразуется в машинный в процессе выполнения специальной программой — интерпретатором.
Python характеризуется ясным синтаксисом. Читать код на этом языке программирования достаточно легко, т.к. в нем мало вс элементов, а правила языка заставляют программистов делать отступы. Понятно, что хорошо оформленный текст с малым количеством отвлекающих элементов читать и понимать легче.
Python – это полноценный, можно сказать универсальный, язык программирования. Он поддерживает объектно-ориентированное программирование (на самом деле он и разрабатывался как объектно-ориентированный язык).
Также Python распространяется свободно на основании лицензии подобной GNU General Public License.