Я вскочил на некоторые ошибки. Я не мог этого решить. В основном я разбиваю свой вход где бы то ни было 'и' & 'или' происходит и удаляет последовательности, имеющие x, а не x в том же под-списке. Мой код выглядит следующим образомAttributeError: объект 'builtin_function_or_method' не имеет атрибута 'split'
import string
class list(object):
def __init__(self, input):
self.input = input
def update_list(self):
new_list = [i.split("and") for i in input.split("or")]
print new_list
def reduced(self):
re_list = [m for m in new_list if not any("not" + m in new_list)]
print re_list
def main():
my_input = raw_input(" ")
print my_input
my_list = list(my_input)
my_list.update_list()
my_list.reduced()
if __name__ == '__main__':
main()
ошибок, которые я получил:
Traceback (most recent call last):
line 39, in <module>
main()
line 32, in main
my_list.update_list()
line 18, in update_list
new_list = [i.split("and") for i in input.split("or")]
AttributeError: 'builtin_function_or_method' object has no attribute 'split'
мой вход выглядит следующим образом:
apple and berry or not apple and apple or banana and not papaya
желаемый результат:
[['apple', 'berry'],['banana', 'not papaya']]
также я использую Python 2.x серия
я выпрямляется выше, когда я заменил вход с self.input в update_list() Но я получил новые ошибки заявив
re_list = [m for m in new_list if not any("not" + m in new_list)]
NameError: global name 'new_list' is not defined
Вы имеете в виду 'self.input', а не' input'. – khelwood