Задать вопрос
@brexer74

Что сделать что бы при print списка выводились нормальные данные а не что то непонятное?

Вообщем, смысл кода в том, что бы создать токен и ссылку, а затем куда нибудь их сохранить (парами). Я использовал для этого классы и список (в чём скорее всего и кроется ошибка). Выполнив код и введя 1, получаю:
[<__main__.Create object at 0x0000020C5643CF10>]

Классы начал изучать недавно, так что за ужасность кода простите.

import random

class Create:
    def __init__(self, token1, link1):
        self.token1 = token1
        self.link1 = link1
        self.pares = []
    def info(self):
        print(str(self.pares))

class Menu:
    def __init__(self, add):
        self.add = add


    def start(self):
        print(f"--------------\nLink Menu\n1.Create Link\n2.Check Link")
        n = input("Enter number ")
        if int(n) == 1:
            l = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
            random.shuffle(l)
            token = str(l)
            symbols_to_remove = " [],''"
            for symbol in symbols_to_remove:
                token = token.replace(symbol, "")
            l2 = ['a', 'b', 'c', 'd', 'e']
            random.shuffle(l2)
            link = str(l2)
            for symbol in symbols_to_remove:
                link = link.replace(symbol, "")
            self.add.pares.append(Create(token, link))
            print(token)
            print(link)
            add.info()


add = Create(1, 1)
menu = Menu(add)
menu.start()
  • Вопрос задан
  • 104 просмотра
Подписаться 1 Простой Комментировать
Ответ пользователя Алан Гибизов К ответам на вопрос (2)
phaggi
@phaggi Куратор тега Python
лужу, паяю, ЭВМы починяю
Классы по идее должны описывать объекты.
class Create какие объекты описывает? На мой взгляд, это скорее должно быть класс «TokenPair» или что-то такое. А у него должны быть методы типа set_pair, get_pair, delete_pair и возможно display.
Для токенов и для линков тоже должны быть отдельные классы.

class Menu по-идее должен описывать меню и тоже содержать методы для конструирования, изменения, возможно отображения и удаления меню.
Элементы меню тоже должны быть описаны своим отдельным классом.
Ни класс меню, ни класс элементов меню не должны содержать ни логики, ни других методов, занимающихся токенами, ссылками и их хранением.

Изучите методы random (например, randint), и библиотеку string, тогда не придется сочинять велосипеды со списками чисел.

Изучите методы строк (join, например), тогда не придется сочинять костыли с удалением кавычек и запятых.

Это так, по верхам.

На мой взгляд, исправлять всё это в текущем виде так же бессмысленно, как ремонт домика Ниф-Нифа из соломы.
Надо сложное делить на простые части, а их проектировать и отлаживать по-отдельности.
Ответ написан
Комментировать