TypeError: list expected at most 1 arguments, got 2

Марк

Новичок
Пользователь
Апр 26, 2020
5
0
1
операционная система Windows 10
версия Python 3,7


Создать класс, содержащий список чисел (с возможностью добавления и удаления) и его отражение в порядке убывания чисел. Думаю в етом проблема.
Помогите пожалуста понять ошибку и способ ее исправления
Python:
class NumberA():
    def __init__(self, num, bas):
        self.num = num
        self.bas = bas
        self.decimal = int(self.num, self.bas)

    def __str__(self):
        return f'{self.num}_{self.bas}'

    def print_decimal(self):
        print(self.decimal)

    def __add__(self, other):
        print(f'{self.num}{other.num}_{self.bas}')
        print(f'{str(int(self.num + other.num, self.bas))}')


class NumberInfo(NumberA):
    def __init__(self, num, bas):
        super().__init__(num, bas)

    def parity(self):
        if self.decimal % 2 == 0:
            print('Number is prime')
        else:
            print("Number is not prime ")
class NuberList():
     def __init__(self, list=[]):
        self.list = list
     def __add__(self, num, bas):
        self.list.append(num, bas)
     def remove_num(self, num, bas):
        self.num.remove(num, bas)
     def sort_list(self, list):
         list.sort(reverse = True)
         print(list)
     def str(self):
        spisok = list
        for i in self.list:
            spisok += i.str() + '\n'
        return spisok

   
       

           
           
binar = list('110', 2)
print(binar)
binar.print_decimal()
binar.parity()

octal = NumberInfo('21', 8)
print(octal)
octal.print_decimal()
octal.parity()

decimal = NumberInfo('69', 10)
print(decimal)
decimal.print_decimal()
decimal.parity()

hexl = NumberInfo('4A6', 16)
print(hexl)
hexl.print_decimal()
hexl.parity()

n1 = NumberInfo('110',2)
n2 = NumberInfo('11', 2)
n3 = n1 + n2



n4 = NumberInfo('21', 8)
n5 = NumberInfo('2', 8)
n6 = n4 + n5


n7 = NumberA('69', 10)
n8 = NumberA('25', 10)
n9 = n7 + n8


n10 = NumberA('4A6', 16)
n11 = NumberA('1F1', 16)
n12 = n10 + n11
 
Последнее редактирование модератором:

borntohack

змееуст
Команда форума
Модератор
Апр 22, 2020
78
62
18
39
Москва, РФ
проблема тут:
Python:
binar = list('110', 2)
конструктор класса list принимает только один аргумент, а вы передаете два
 
  • Мне нравится
Реакции: Марк

Марк

Новичок
Пользователь
Апр 26, 2020
5
0
1
проблема тут:
Python:
binar = list('110', 2)
конструктор класса list принимает только один аргумент, а вы передаете два

да но как исправить list чтоб он принимал два аргумента?
 

God

Уже не совсем ламер.
Пользователь
Апр 11, 2020
91
15
8
да но как исправить list чтоб он принимал два аргумента?
Если вам нужна другая функция-конструктор - разработайте её сами. Я же вам посоветую appendнуть нужные элементы в список, который вы заранее объявите примерно так: Marks_list = [].
 
  • Мне нравится
Реакции: Марк

Марк

Новичок
Пользователь
Апр 26, 2020
5
0
1
Если вам нужна другая функция-конструктор - разработайте её сами. Я же вам посоветую appendнуть нужные элементы в список, который вы заранее объявите примерно так: Marks_list = [].
Спасибо сейчас попробую
 

Форум IT Специалистов