Bear in mind this advice from The Zen of Python:
"Readability counts."
The ternary operator is most readable when it is all on one line.
x = y if z else w
When your conditions or variables push the line past 79 characters (see PEP8), readability begins to suffer. (Readability is also why dict/list comprehensions are best kept short.)
So, rather than trying to break the line using parentheses, you might find it is more readable if you convert it to a regular if
block.
if does_not_haggle(brian):
answer = 'Ten for that? You must be mad!'
else:
answer = "It's worth ten if it's worth a shekel."
BONUS: The above refactoring reveals another readability issue: does_not_haggle
is inverted logic. This would be even more readable, if you can rewrite the function:
if haggles(brian):
answer = "It's worth ten if it's worth a shekel."
else:
answer = 'Ten for that? You must be mad!'