x+(y**2)
(a.attr)+(-5)
f((a+b)) is not (a<b)
lambda a, b: ((not a) or ((b.attr)[4]))

Wenn euch diese Aufgabe verwirrt hat, liegt das eben daran, dass Python das alles so macht, wie man es erwarten würde.

Die Sache mit dem lambda ist übrigens etwas blöd, weil lambda so ein komischer Operator ist – er ist zwar binär (seine Argumente sind die Argumentliste und der Ausdruck), aber ein Teil (das Lambda) steht vor dem ersten Argument, ein weiterer Teil nach einem Infix-:. Es wäre vielleicht schöner gewesen, wenn die Designer von Python eine Syntax wie a, b lambda not a or b.attr[4] vorgesehen hätten. Aber das hätte mehr Probleme gegeben und wäre von jeder Warte außer der des Ausdrückeschreibens auch hässlicher gewesen.