Уведомления

Группа в Telegram: @pythonsu

#1 Март 23, 2025 12:28:40

DelayLama
Зарегистрирован: 2025-03-23
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

прошу помощи в работе с матрицей элементов с пользовательским типом данных.

Доброго времени суток.
Это мой первый проект на питоне, столкнулся с проблемой. При записи данных а матрицу и контрольном считывании из нее, записанные и считываемые данные не совпадают. Прикрепленный файл- не проект целиком, а пример, иллюстрирующий проблему. Очевидно, есть какая то тонкость, которую я пока не понимаю. Может кто нить сталкивался с подобным и знает решение проблемы?
Версия питона 3.13.2

Отредактировано DelayLama (Март 23, 2025 12:32:24)

Прикреплённый файлы:
attachment matrix_001.py (1,4 KБ)

Офлайн

#2 Март 25, 2025 04:04:58

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9908
Репутация: +  855  -
Профиль   Отправить e-mail  

прошу помощи в работе с матрицей элементов с пользовательским типом данных.

from dataclasses import dataclass,field
@dataclass
class TestData: #пользовательский тип данных
feld_00: str=""
feld_01: int=0

data=TestData() # создание переменной пользовательского типа

nof_zeilen: int =4 #число строк
nof_spalten:int =3 #число столбцов

A=[[TestData() for _ in range(nof_spalten)] for _ in range(nof_zeilen)] # создание матрицы
# заполнение матрицы тестовыми данными
for i in range(0,nof_zeilen):
for j in range(0,nof_spalten):
data = A[i][j]
# запись данных в матрицу через переменную соответствующего типа
data.feld_00="Zeile:"+ str(i)+" Spalte:"+str(j) # Генерация и запись тестовых данных
#A[i][j]=data
print("Запись:", data.feld_00) # контрольный вывод записываемых данных

# контрольное считывание данных
for i in range(0,nof_zeilen):
for j in range(0,nof_spalten):
data=A[i][j]
print("Lesen:", data.feld_00) # Записанные ранее данные не соответствуют считанным!!

[guest@localhost py]$ python matrix_001.py 
Запись: Zeile:0 Spalte:0
Запись: Zeile:0 Spalte:1
Запись: Zeile:0 Spalte:2
Запись: Zeile:1 Spalte:0
Запись: Zeile:1 Spalte:1
Запись: Zeile:1 Spalte:2
Запись: Zeile:2 Spalte:0
Запись: Zeile:2 Spalte:1
Запись: Zeile:2 Spalte:2
Запись: Zeile:3 Spalte:0
Запись: Zeile:3 Spalte:1
Запись: Zeile:3 Spalte:2
Lesen: Zeile:0 Spalte:0
Lesen: Zeile:0 Spalte:1
Lesen: Zeile:0 Spalte:2
Lesen: Zeile:1 Spalte:0
Lesen: Zeile:1 Spalte:1
Lesen: Zeile:1 Spalte:2
Lesen: Zeile:2 Spalte:0
Lesen: Zeile:2 Spalte:1
Lesen: Zeile:2 Spalte:2
Lesen: Zeile:3 Spalte:0
Lesen: Zeile:3 Spalte:1
Lesen: Zeile:3 Spalte:2
[guest@localhost py]$



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version