#python-2.7
#python-2.7
Вопрос:
a = raw_input("What do you want to add to the list?" " If you would like to remove something from the list type 'remove' : ") if str(a) not == "remove".lower(): print('"'), str(a), ('"' " has been added to list") list1.append(a) print(list1)
Когда я запускаю это (есть еще код, но это соответствующий бит), он говорит «ожидается»: «»непосредственно перед » не в», если str(a) не == «удалить».ниже():» строка. имейте в виду, что это на python 2.7
Комментарии:
1. Синтаксис неправильный.
!=
Не используйтеnot ==
. Это описано в основных учебных пособиях.
Ответ №1:
Для проверки неравенства в Python это допустимо:
A != B
и это тоже:
not (A == B)
но это не так:
A not == B # syntax error
(Вас можно простить за то, что вы думаете, что именно так это работает, если вы использовали in
оператор, потому not (A in B)
что и A not in B
эквивалентны.)
Как только вы это исправите, знайте, что это:
print('"'), str(a), ('"' " has been added to list")
проклят и только случайно делает то, что вы хотите в Python 2 (он не будет делать то, что вы, очевидно, предполагаете, что он делает в любой поддерживаемой в настоящее время версии Python). Когда вы хотите print()
что-то напечатать, спецификация того, что должно быть напечатано, заканчивается на этом в первую )
очередь . Следующее работает как в Python 2, так и в Python 3:
print( '"{}" has been added to list'.format(a) )
Тогда есть тот факт, что вы обращаетесь .lower()
к неправильной стороне сравнения (к чему-то, что уже всегда строчное).
Комментарии:
1. Я предполагаю, что я бы сделал это печатным ((» «» ), str(a), («»»»был добавлен в список»)) (я думал, что у меня это было раньше, но ладно. также спасибо!
2. @N018B Я заговорил слишком рано. То, что вы написали , на самом деле будет работать в Python 2.x, но его синтаксис очень вводит в заблуждение. Ответ обновлен.