Назначьте координаты X и Y из отдельных списков в кортеж - PullRequest
0 голосов
/ 09 июля 2020

Я разрабатываю программное обеспечение, которое строит диаграмму с использованием данных X и Y.

Я создал 2 списка, содержащих координаты X и Y. Я пытаюсь назначить X[0] и Y[0], чтобы сформировать такие пары координат: tuple(X[0],Y[0]), но я обнаружил эту ошибку:

TypeError: объект 'tuple' не вызывается

Это мой код:

import random

first_data = ['S1',0,100]
X = ['','','','','','','','','']
Y = ['','','','','','','','','']
coordinates = ()

class SeriesGenerator:
        
    def generate_random(self):
        minV = first_signal[1]
        maxV = first_signal[2]
        for i in range(9):
            X[i] = minV+(maxV-minV)*random.random()
            Y[i] = minV+(maxV-minV)*random.random()
        return X,Y
    
    def create_axes(self):
        for e in Y:
            for u in X:
                coordinates(u,e)
                
        print(coordinates)
        
        
SeriesGenerator().create_axes()

Ответы [ 2 ]

3 голосов
/ 09 июля 2020

В вашем коде coordinates - это кортеж со значением (), и вы пытаетесь его вызвать. Python не имеет оператора вызова для кортежей, отсюда и ошибка. Вероятно, вам нужно что-то вроде

import random

first_data = ['S1',0,100]
X = ['','','','','','','','','']
Y = ['','','','','','','','','']
coordinates = []

class SeriesGenerator:
        
    def generate_random(self):
        minV = first_signal[1]
        maxV = first_signal[2]
        for i in range(9):
            X[i] = minV+(maxV-minV)*random.random()
            Y[i] = minV+(maxV-minV)*random.random()
        return X,Y
    
    def create_axes(self):
        for e in Y:
            for u in X:
                coordinates.append((u,e))
                
        print(coordinates)
        
        
SeriesGenerator().create_axes()
1 голос
/ 09 июля 2020

Не вызывайте кортеж, используя some_name(something). Это означает инициализацию объекта кортежа, который вы уже создали. Попробуйте:

coordinates = (u,e)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...