Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 19.02.2017
Сообщений: 1

задача по пайгейм и классам

19.02.2017, 17:53. Показов 1241. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
import math 
import pygame 
from pygame.locals import * 
 
f = open('11.txt', 'r') 
 
window = pygame.display.set_mode((600, 600)) 
pygame.display.set_caption('Hello') 
screen = pygame.Surface((600, 600)) 
 
 
class Triangle: 
def __init__(self, p1, p2, p3): 
self.poligon_color = (255, 0, 0) 
self.poligon_points = [p1, p2, p3] 
self.poligon_width = 0 
 
def render(self): 
pygame.draw.polygon(screen, self.poligon_color, self.poligon_points, self.poligon_width) 
 
def update(self): 
s = 3 
for i in range(3): 
 
self.poligon_points[0][0] += s 
 
 
class Rect: 
def __init__(self, p, w): 
self.rect_color = (255, 0, 255) 
self.rect_pos = [p, w] # !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1 
self.rect_thickness = 0 
 
def render(self): 
pygame.draw.rect(screen, self.rect_color, self.rect_pos, self.rect_thickness) 
 
def update(self): 
s = 3.0 
self.rect_pos[0][0] += s 
 
if self.rect_pos[0][0] > 600: 
self.rect_pos[0][0] = 0 
 
 
class Circle: 
def __init__(self, cp, r): 
self.circle_color = (255, 100, 255) 
self.circle_pos = (cp) 
self.circle_radius = r 
self.circle_width = 0 
 
def render(self): 
pygame.draw.circle(screen, self.circle_color, self.circle_pos, self.circle_radius, self.circle_width) 
 
def update(self): 
pass 
 
 
d = [] 
 
for s in f: 
b = s.split(',') 
 
if b[0] == "triangle": 
p1 = (int(b[1]), int(b[2])) 
p2 = (int(b[3]), int(b[4])) 
p3 = (int(b[5]), int(b[6])) 
d.append(Triangle(p1, p2, p3)) 
 
elif b[0] == "rect": 
p = (int(b[1]), int(b[2])) 
w = (int(b[3]), int(b[4])) 
d.append(Rect(p, w)) 
 
elif b[0] == "circle": 
cp = (int(b[1]), int(b[2])) 
r = (int(b[3])) 
c = Circle(cp, r) 
d.append(c) 
 
done = True 
while done: 
for e in pygame.event.get(): 
if e.type == pygame.QUIT: 
done = False 
screen.fill((50, 50, 50)) 
 
for obj in d: 
obj.update() 
obj.render() 
 
window.blit(screen, (0, 0)) 
pygame.display.flip() 
pygame.time.delay(5)
извиняюсь за длинный код) смысл программы в том чтобы в pygame обрисовывались фигуры (прямоугольник,круг,треугольник)кординат ы для фигур загружаются из файла.для этого сделаны классы.чтоб можно было выгрузить любое количество фигур.Ошибка у меня довольно таки простая.вот тут def update(self):
s = 3
for i in range(3):

self.poligon_points[0][0] += s .Это сделано для того чтоб фигуры двигались по полю.Ошибку выдает такую.По кортежам.Я что то очень сильно видимо туплю.и не могу найти решение)помогите )))) Traceback (most recent call last):
File "C:/Users/1/Desktop/pygame/1.py", line 89, in <module>
obj.update()
File "C:/Users/1/Desktop/pygame/1.py", line 25, in update
self.poligon_points[0][0] += s
TypeError: 'tuple' object does not support item assignment
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.02.2017, 17:53
Ответы с готовыми решениями:

Задача по классам.с++
Задание 1 Разработать пользовательский тип (класс) «матрица целых чисел». Класс должен содержать: – все нужные поля, исходя из...

Задача С++ по классам
N треугольников плоскости заданы длинами своих сторон. В каждом треугольнике найти наименьшую из трёх сторон. Среди этих наименьших ...

Задача по классам
задание. Разработайте класс для моделирования квадратных трехчленов. Предусмотрите в классе функции-члены для вычисления дискриминанта,...

2
 Аватар для wi34rd
13 / 13 / 10
Регистрация: 09.09.2014
Сообщений: 41
19.02.2017, 19:09
Нельзя присваивать значения кортежу, чего не понятно? Переделай в список.
0
 Аватар для Semen-Semenich
5228 / 3474 / 1174
Регистрация: 21.03.2016
Сообщений: 8,301
19.02.2017, 19:16
кортежи не изменяемы.
self.poligon_points = [p1, p2, p3] хотя тут и список но состоит из кортежей
Python
1
2
3
p1 = (int(b[1]), int(b[2])) 
p2 = (int(b[3]), int(b[4])) 
p3 = (int(b[5]), int(b[6]))
в результате вы пытаетесь изменить элемент кортежа
Python
1
self.poligon_points[0][0] += s
и так в нескольких местах
простой явный пример
Python
1
2
3
a = [(2,3),(5,6),(3,8)]
a[0][0] += 3
print(a)
TypeError: 'tuple' object does not support item assignment
и тот же но с списками
Python
1
2
3
a = [[2,3],[5,6],[3,8]]
a[0][0] += 3
print(a)
[[5, 3], [5, 6], [3, 8]] так что пользуйтесь списками
Python
1
2
3
4
5
if b[0] == "triangle": 
p1 = [int(b[1]), int(b[2])] 
p2 = [int(b[3]), int(b[4])] 
p3 = [int(b[5]), int(b[6]) ]
d.append(Triangle(p1, p2, p3))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.02.2017, 19:16
Помогаю со студенческими работами здесь

Задача по классам
Помогите разобраться. Разработать класс Student для представления сведений об успешности слушателя курса Prometheus. Объект класса должен...

Задача по классам
ПОМОГИТЕ, пожалуйста, доделать(или переделать) задачу (добавить конструктор копирования и т..д.)При этом ипеременные должны быть...

Задача по классам
Здравствуйте, дано задание. Помогите с решением. Нужно создать класс Text для работы с текстом. У этого класса должны быть атрибуты...

Задача по объектам и классам
Задача из книги Праты. Дан заголовочный файл, нужно определить методы и написать программу. Компилируется , но выводится какая-то...

Задача по классам в Java
В программе создаются два класса. Первый класс зависит от варианта выполнения работы. В этом классе необходимо создать: 1) переменные...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru