Форум программистов, компьютерный форум, киберфорум
Python
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/29: Рейтинг темы: голосов - 29, средняя оценка - 4.72
3 / 3 / 1
Регистрация: 24.03.2011
Сообщений: 65

Ошибка при описании класса

27.07.2016, 13:55. Показов 5931. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
18 и 20 строки: Unresolved attribute reference 'owner' for class 'turn'

Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class turn: ## ход
 
    def __init__(self, owner, coordinate_y, coordinate_x):
        self.owner = owner ## хозяин
        self.coorditane_x = coordinate_x
        self.coorditane_y = coordinate_y
 
class field: ## клетка поля
 
    def __init__(self, coordinate_x, coordinate_y):
        self.coordinate_x = coordinate_x
        self.coordinate_y = coordinate_y
        self.tostatus()
 
    def tostatus(self):
        self.status = 0
 
        if turn.owner == 1:
            self.status = 1
        elif turn.owner == 2:
            self.status = 2
Как правильно написать: если поле owner экземпляра класса turn, = 1, то поле status данного объекта = 1?
Спасибо
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.07.2016, 13:55
Ответы с готовыми решениями:

Ошибка при написании класса
Первый опыт написания класса и подкласса. Делал почти в ноль по копирке с сайта. Написал это: class Animal: def...

Ошибка при реализации класса
Перевел код с С++, прошу исправить ошибку ammount = 0 class Point(): def __init__(self,...

Ошибка при импорте класса
Не могу понять, в чём проблема. В проекте два файла (модуля): main.py: import pygame import random import os from sprites...

5
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
27.07.2016, 14:08
I.G.O.R, Во 1 имена классов пишутся с большой буквы, во 2 где ты создаешь экземпляры классов, чтобы обращаться к атрибутам экземпляра класса?

Иди почитай Изучаем python, главу про ООП. Из того, что я вижу понятно, что ты вообще ни чего не понимаешь, даже основ. Я могу сказать из-за чего у тебя ошибка, но ты думаю не поймешь ответа.
1
3 / 3 / 1
Регистрация: 24.03.2011
Сообщений: 65
27.07.2016, 14:08  [ТС]
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
print('Игра крестики нолики')
print()
 
class turn: ## ход
 
    def __init__(self, owner, coordinate_y, coordinate_x):
        self.owner = owner ## хозяин
        self.coorditane_x = coordinate_x
        self.coorditane_y = coordinate_y
 
class field: ## клетка поля
 
    def __init__(self, coordinate_x, coordinate_y):
        self.coordinate_x = coordinate_x
        self.coordinate_y = coordinate_y
        self.tostatus()
 
    def tostatus(self):
        self.status = 0
 
        if turn.owner == 1:
            self.status = 1
        elif turn.owner == 2:
            self.status = 2
 
Q1 = field(1, 1)
Q2 = field(1, 2)
Q3 = field(1, 3)
W1 = field(2, 1)
W2 = field(2, 2)
W3 = field(2, 3)
E1 = field(3, 1)
E2 = field(3, 2)
E3 = field(3, 3)
ListOfFields = [Q1, Q2, Q3, W1, W2, W3, E1, E2, E3]
 
winner = 0
itturn = 1
 
while winner == 0:
    if itturn == 1:
        print()
        print("Ход игрок Номер 1:")
        x = input("x =")
        y = input("y = ")
 
        I = 0
        for I in ListOfFields:
            if x == field.coordinate_x and y == field.coordinate_y:
                field(x, y).status = 1
            else:
                print()
                print("Неверные координаты")
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
27.07.2016, 14:15
Цитата Сообщение от alex925 Посмотреть сообщение
Иди почитай Изучаем python, главу про ООП. Из того, что я вижу понятно, что ты вообще ни чего не понимаешь, даже основ. Я могу сказать из-за чего у тебя ошибка, но ты думаю не поймешь ответа.
Ты пытаешься у получить атрибут класса, которого нет (и получаешь ошибку), а в классе в действительности ты объявляешь атрибут экземпляра класса.
0
3 / 3 / 1
Регистрация: 24.03.2011
Сообщений: 65
27.07.2016, 14:55  [ТС]
Некоторые вещи остались непонятными, но благодаря вашим ответам заработало:

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
print('Игра крестики нолики')
print()
 
class Field: ## клетка поля
 
    def __init__(self, coordinate_x, coordinate_y):
        self.coordinate_x = coordinate_x
        self.coordinate_y = coordinate_y
        self.status = 0
 
ListOfFields = ((1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3))
 
winner = 0
itturn = 1
 
while winner == 0:
    if itturn == 1:
        print()
        print("Ход игрока Номер 1:")
        x = float(input("x = "))
        y = float(input("y = "))
 
        I = 0
        for I in ListOfFields:
            obj = Field(*I)
            if obj.coordinate_x == x and obj.coordinate_y == y:
                obj.status = 1
                print(obj.status)
0
2742 / 2341 / 620
Регистрация: 19.03.2012
Сообщений: 8,830
27.07.2016, 15:04
Цитата Сообщение от I.G.O.R Посмотреть сообщение
Некоторые вещи остались непонятными
По этому я и советую почитать книгу Изучаем python
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.07.2016, 15:04
Помогаю со студенческими работами здесь

При перегрузке оператора для класса не получается использовать имя переменной такое же, как в описании класса
Описал первый класс,затем - описал второй класс, используя первый,и когда начал перезагружать оператор для второго класса, вылезла...

При описании класса String компилятор выдает непонятные сообщения об ошибках
#include <iostream> #include <string.h> using namespace std; class String{ public: String(); String(const char *const); ...

Ошибка при описании объекта
using System; class Animal{ static void Main(){ string name; string ton; Animal Barsik; ...

Ошибка при описании connect-a
Здравствуйте! Совсем недавно начал изучать QT. Здесь такая проблема - я хотел, чтобы по нажатии кнопки SpendMoney а затем "Enter...

Ошибка при описании функции
Добрый вечер) Я только только начал изучать этот прекрасный язык Си++...поэтому не судите строго за мой вопрос) Не могу понять...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru